From 205da3ca750694d0378e3822eb46668b1d78e2f6 Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Thu, 12 Feb 2026 16:11:38 -0800 Subject: [PATCH 1/6] Assume alwaysStrict --- internal/ast/parseoptions.go | 8 ------- internal/binder/binder.go | 6 +---- internal/binder/binder_test.go | 4 ---- internal/compiler/fileloader.go | 1 - internal/compiler/program.go | 4 ++++ internal/core/compileroptions.go | 22 ++----------------- internal/project/autoimport.go | 2 -- internal/project/session_test.go | 7 ++++-- internal/testutil/harnessutil/harnessutil.go | 3 +++ .../testutil/tsbaseline/js_emit_baseline.go | 1 - .../transformers/estransforms/usestrict.go | 13 ++++------- 11 files changed, 19 insertions(+), 52 deletions(-) diff --git a/internal/ast/parseoptions.go b/internal/ast/parseoptions.go index a697eceb75f..a2aa2ee93c3 100644 --- a/internal/ast/parseoptions.go +++ b/internal/ast/parseoptions.go @@ -17,18 +17,10 @@ const ( type SourceFileParseOptions struct { FileName string Path tspath.Path - CompilerOptions core.SourceFileAffectingCompilerOptions ExternalModuleIndicatorOptions ExternalModuleIndicatorOptions JSDocParsingMode JSDocParsingMode } -func GetSourceFileAffectingCompilerOptions(fileName string, options *core.CompilerOptions) core.SourceFileAffectingCompilerOptions { - // Declaration files are not parsed/bound differently depending on compiler options. - if tspath.IsDeclarationFileName(fileName) { - return core.SourceFileAffectingCompilerOptions{} - } - return options.SourceFileAffecting() -} type ExternalModuleIndicatorOptions struct { JSX bool diff --git a/internal/binder/binder.go b/internal/binder/binder.go index 187c8e6a840..6d134284329 100644 --- a/internal/binder/binder.go +++ b/internal/binder/binder.go @@ -83,10 +83,6 @@ type Binder struct { expandoAssignments []ExpandoAssignmentInfo } -func (b *Binder) options() core.SourceFileAffectingCompilerOptions { - return b.file.ParseOptions().CompilerOptions -} - type ActiveLabel struct { next *ActiveLabel breakTarget *ast.FlowLabel @@ -128,7 +124,7 @@ func bindSourceFile(file *ast.SourceFile) { b := getBinder() defer putBinder(b) b.file = file - b.inStrictMode = b.options().BindInStrictMode && !file.IsDeclarationFile || ast.IsExternalModule(file) + b.inStrictMode = !file.IsDeclarationFile || ast.IsExternalModule(file) b.unreachableFlow = b.newFlowNode(ast.FlowFlagsUnreachable) b.bind(file.AsNode()) b.bindDeferredExpandoAssignments() diff --git a/internal/binder/binder_test.go b/internal/binder/binder_test.go index afffa138e0b..442c9064356 100644 --- a/internal/binder/binder_test.go +++ b/internal/binder/binder_test.go @@ -21,13 +21,9 @@ func BenchmarkBind(b *testing.B) { path := tspath.ToPath(fileName, "/", osvfs.FS().UseCaseSensitiveFileNames()) sourceText := f.ReadFile(b) - compilerOptions := &core.CompilerOptions{Target: core.ScriptTargetESNext, Module: core.ModuleKindNodeNext} - sourceAffecting := compilerOptions.SourceFileAffecting() - parseOptions := ast.SourceFileParseOptions{ FileName: fileName, Path: path, - CompilerOptions: sourceAffecting, JSDocParsingMode: ast.JSDocParsingModeParseAll, } scriptKind := core.GetScriptKindFromFileName(fileName) diff --git a/internal/compiler/fileloader.go b/internal/compiler/fileloader.go index a24634ee9ab..ce1daa67fa6 100644 --- a/internal/compiler/fileloader.go +++ b/internal/compiler/fileloader.go @@ -294,7 +294,6 @@ func (p *fileLoader) parseSourceFile(t *parseTask) *ast.SourceFile { sourceFile := p.opts.Host.GetSourceFile(ast.SourceFileParseOptions{ FileName: t.normalizedFilePath, Path: path, - CompilerOptions: ast.GetSourceFileAffectingCompilerOptions(t.normalizedFilePath, options), ExternalModuleIndicatorOptions: ast.GetExternalModuleIndicatorOptions(t.normalizedFilePath, options, t.metadata), JSDocParsingMode: p.opts.JSDocParsingMode, }) diff --git a/internal/compiler/program.go b/internal/compiler/program.go index 92cc168290f..4d672338e70 100644 --- a/internal/compiler/program.go +++ b/internal/compiler/program.go @@ -688,6 +688,10 @@ func (p *Program) verifyCompilerOptions() { createRemovedOptionDiagnostic("module", "UMD", "") } + if options.AlwaysStrict.IsFalse() { + createRemovedOptionDiagnostic("alwaysStrict", "false", "strict") + } + if options.StrictPropertyInitialization.IsTrue() && !options.GetStrictOptionValue(options.StrictNullChecks) { createDiagnosticForOptionName(diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "strictPropertyInitialization", "strictNullChecks") } diff --git a/internal/core/compileroptions.go b/internal/core/compileroptions.go index fad0bb80444..05d48887d00 100644 --- a/internal/core/compileroptions.go +++ b/internal/core/compileroptions.go @@ -3,7 +3,6 @@ package core import ( "reflect" "strings" - "sync" "github.com/microsoft/typescript-go/internal/collections" "github.com/microsoft/typescript-go/internal/tspath" @@ -25,7 +24,6 @@ type CompilerOptions struct { AllowUnreachableCode Tristate `json:"allowUnreachableCode,omitzero"` AllowUnusedLabels Tristate `json:"allowUnusedLabels,omitzero"` AssumeChangesOnlyAffectDirectDependencies Tristate `json:"assumeChangesOnlyAffectDirectDependencies,omitzero"` - AlwaysStrict Tristate `json:"alwaysStrict,omitzero"` CheckJs Tristate `json:"checkJs,omitzero"` CustomConditions []string `json:"customConditions,omitzero"` Composite Tristate `json:"composite,omitzero"` @@ -121,6 +119,8 @@ type CompilerOptions struct { VerbatimModuleSyntax Tristate `json:"verbatimModuleSyntax,omitzero"` MaxNodeModuleJsDepth *int `json:"maxNodeModuleJsDepth,omitzero"` + // Deprecated: Do not use outside of options parsing and validation. + AlwaysStrict Tristate `json:"alwaysStrict,omitzero"` // Deprecated: Do not use outside of options parsing and validation. BaseUrl string `json:"baseUrl,omitzero"` // Deprecated: Do not use outside of options parsing and validation. @@ -152,9 +152,6 @@ type CompilerOptions struct { SingleThreaded Tristate `json:"singleThreaded,omitzero"` Quiet Tristate `json:"quiet,omitzero"` Checkers *int `json:"checkers,omitzero"` - - sourceFileAffectingCompilerOptionsOnce sync.Once - sourceFileAffectingCompilerOptions SourceFileAffectingCompilerOptions } // noCopy may be embedded into structs which must not be copied @@ -367,21 +364,6 @@ func (options *CompilerOptions) GetPathsBasePath(currentDirectory string) string return currentDirectory } -// SourceFileAffectingCompilerOptions are the precomputed CompilerOptions values which -// affect the parse and bind of a source file. -type SourceFileAffectingCompilerOptions struct { - BindInStrictMode bool -} - -func (options *CompilerOptions) SourceFileAffecting() SourceFileAffectingCompilerOptions { - options.sourceFileAffectingCompilerOptionsOnce.Do(func() { - options.sourceFileAffectingCompilerOptions = SourceFileAffectingCompilerOptions{ - BindInStrictMode: options.AlwaysStrict.IsTrue() || options.Strict.IsTrue(), - } - }) - return options.sourceFileAffectingCompilerOptions -} - type ModuleDetectionKind int32 const ( diff --git a/internal/project/autoimport.go b/internal/project/autoimport.go index 9dcc8228ff2..38f8bb9d1ef 100644 --- a/internal/project/autoimport.go +++ b/internal/project/autoimport.go @@ -6,7 +6,6 @@ import ( "github.com/microsoft/typescript-go/internal/ast" "github.com/microsoft/typescript-go/internal/collections" "github.com/microsoft/typescript-go/internal/compiler" - "github.com/microsoft/typescript-go/internal/core" "github.com/microsoft/typescript-go/internal/ls/autoimport" "github.com/microsoft/typescript-go/internal/packagejson" "github.com/microsoft/typescript-go/internal/tspath" @@ -154,7 +153,6 @@ func (a *autoImportRegistryCloneHost) GetSourceFile(fileName string, path tspath opts := ast.SourceFileParseOptions{ FileName: fileName, Path: path, - CompilerOptions: core.EmptyCompilerOptions.SourceFileAffecting(), JSDocParsingMode: ast.JSDocParsingModeParseAll, } key := NewParseCacheKey(opts, fh.Hash(), fh.Kind()) diff --git a/internal/project/session_test.go b/internal/project/session_test.go index 3a880eaa99a..09c79164ab3 100644 --- a/internal/project/session_test.go +++ b/internal/project/session_test.go @@ -477,9 +477,12 @@ func TestSession(t *testing.T) { files := maps.Clone(defaultFiles) files["/home/projects/TS/p2/tsconfig.json"] = `{ "compilerOptions": { + "noLib": true, "module": "nodenext", - "jsx": "react" - } + "strict": true, + "moduleDetection": "auto" + }, + "include": ["src"] }` files["/home/projects/TS/p2/src/index.ts"] = `import { x } from "../../p1/src/x";` session, _ := projecttestutil.Setup(files) diff --git a/internal/testutil/harnessutil/harnessutil.go b/internal/testutil/harnessutil/harnessutil.go index 66efc031609..aa2ec5e79a1 100644 --- a/internal/testutil/harnessutil/harnessutil.go +++ b/internal/testutil/harnessutil/harnessutil.go @@ -1205,4 +1205,7 @@ func SkipUnsupportedCompilerOptions(t *testing.T, options *core.CompilerOptions) case core.ScriptTargetES3, core.ScriptTargetES5: t.Skipf("unsupported target %s", options.Target) } + if options.AlwaysStrict.IsFalse() { + t.Skipf("alwaysStrict=false is unsupported") + } } diff --git a/internal/testutil/tsbaseline/js_emit_baseline.go b/internal/testutil/tsbaseline/js_emit_baseline.go index 81eab0adde2..fdc1483935c 100644 --- a/internal/testutil/tsbaseline/js_emit_baseline.go +++ b/internal/testutil/tsbaseline/js_emit_baseline.go @@ -57,7 +57,6 @@ func DoJSEmitBaseline( fileParseResult := parser.ParseSourceFile(ast.SourceFileParseOptions{ FileName: file.UnitName, Path: tspath.Path(file.UnitName), - CompilerOptions: options.SourceFileAffecting(), }, file.Content, core.ScriptKindJSON) if len(fileParseResult.Diagnostics()) > 0 { jsCode.WriteString(GetErrorBaseline(t, []*harnessutil.TestFile{file}, diagnosticwriter.WrapASTDiagnostics(fileParseResult.Diagnostics()), diagnosticwriter.CompareASTDiagnostics, false /*pretty*/)) diff --git a/internal/transformers/estransforms/usestrict.go b/internal/transformers/estransforms/usestrict.go index cccc1a0a925..2a43d177956 100644 --- a/internal/transformers/estransforms/usestrict.go +++ b/internal/transformers/estransforms/usestrict.go @@ -43,13 +43,8 @@ func (tx *useStrictTransformer) visitSourceFile(node *ast.SourceFile) *ast.Node return node.AsNode() } - if isExternalModule || - tx.compilerOptions.AlwaysStrict.IsTrueOrUnknown() { - statements := tx.Factory().EnsureUseStrict(node.Statements.Nodes) - statementList := tx.Factory().NewNodeList(statements) - statementList.Loc = node.Statements.Loc - return tx.Factory().UpdateSourceFile(node, statementList, node.EndOfFileToken).AsSourceFile().AsNode() - } - - return node.AsNode() + statements := tx.Factory().EnsureUseStrict(node.Statements.Nodes) + statementList := tx.Factory().NewNodeList(statements) + statementList.Loc = node.Statements.Loc + return tx.Factory().UpdateSourceFile(node, statementList, node.EndOfFileToken).AsSourceFile().AsNode() } From ad75e27ebdaf817ba514d7d2341286c17cd0e691 Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Thu, 12 Feb 2026 16:11:44 -0800 Subject: [PATCH 2/6] Update baselines --- ...hStatements(alwaysstrict=false).errors.txt | 42 - ...bientWithStatements(alwaysstrict=false).js | 32 - ...WithStatements(alwaysstrict=false).symbols | 42 - ...ntWithStatements(alwaysstrict=false).types | 53 - ...rgumentList(alwaysstrict=false).errors.txt | 10 - ...onScopeArgumentList(alwaysstrict=false).js | 13 - ...peArgumentList(alwaysstrict=false).symbols | 13 - ...copeArgumentList(alwaysstrict=false).types | 16 - ...tLiteral_Js(alwaysstrict=false).errors.txt | 32 - ...eInObjectLiteral_Js(alwaysstrict=false).js | 53 - ...jectLiteral_Js(alwaysstrict=false).symbols | 51 - ...ObjectLiteral_Js(alwaysstrict=false).types | 64 -- ...teProtected(alwaysstrict=false).errors.txt | 52 - ...licPrivateProtected(alwaysstrict=false).js | 80 -- ...ivateProtected(alwaysstrict=false).js.diff | 31 - ...ivateProtected(alwaysstrict=false).symbols | 74 -- ...PrivateProtected(alwaysstrict=false).types | 80 -- ...onDeclarationES5(target=es2015).errors.txt | 11 + ...larationES5(target=es2015).errors.txt.diff | 15 - ...ctionDeclarationES5(target=es2015).symbols | 2 - ...DeclarationES5(target=es2015).symbols.diff | 8 - ...unctionDeclarationES5(target=es2015).types | 4 +- ...onDeclarationES5(target=es2015).types.diff | 10 - ...ockScopedFunctionDeclarationES6.errors.txt | 11 + ...opedFunctionDeclarationES6.errors.txt.diff | 15 - .../blockScopedFunctionDeclarationES6.symbols | 2 - ...kScopedFunctionDeclarationES6.symbols.diff | 8 - .../blockScopedFunctionDeclarationES6.types | 4 +- ...ockScopedFunctionDeclarationES6.types.diff | 10 - ...onDeclarationES5(target=es2015).errors.txt | 15 +- ...larationES5(target=es2015).errors.txt.diff | 43 - ...ctionDeclarationES5(target=es2015).symbols | 16 +- ...DeclarationES5(target=es2015).symbols.diff | 40 - ...unctionDeclarationES5(target=es2015).types | 16 +- ...onDeclarationES5(target=es2015).types.diff | 49 - ...dSameNameFunctionDeclarationES6.errors.txt | 15 +- ...NameFunctionDeclarationES6.errors.txt.diff | 43 - ...opedSameNameFunctionDeclarationES6.symbols | 16 +- ...ameNameFunctionDeclarationES6.symbols.diff | 40 - ...ScopedSameNameFunctionDeclarationES6.types | 16 +- ...dSameNameFunctionDeclarationES6.types.diff | 49 - ...tions(alwaysstrict=false,target=es2015).js | 36 - ...(alwaysstrict=false,target=es2015).symbols | 40 - ...ns(alwaysstrict=false,target=es2015).types | 49 - ...ction(alwaysstrict=false,target=es2015).js | 74 -- ...(alwaysstrict=false,target=es2015).symbols | 136 --- ...on(alwaysstrict=false,target=es2015).types | 140 --- ...sions(alwaysstrict=false,target=es2015).js | 65 -- ...(alwaysstrict=false,target=es2015).symbols | 96 -- ...ns(alwaysstrict=false,target=es2015).types | 100 -- ...sionArgumentsInType(alwaysstrict=false).js | 23 - ...rgumentsInType(alwaysstrict=false).symbols | 55 - ...nArgumentsInType(alwaysstrict=false).types | 55 - ...mentsInType(alwaysstrict=false).types.diff | 20 - ...ntsInterfaceMembers(alwaysstrict=false).js | 33 - ...terfaceMembers(alwaysstrict=false).symbols | 65 -- ...InterfaceMembers(alwaysstrict=false).types | 51 - ...lidContexts(alwaysstrict=false).errors.txt | 62 -- ...ons-invalidContexts(alwaysstrict=false).js | 58 -- ...nvalidContexts(alwaysstrict=false).symbols | 55 - ...-invalidContexts(alwaysstrict=false).types | 83 -- ...ions-scopes(alwaysstrict=false).errors.txt | 152 --- ...Declarations-scopes(alwaysstrict=false).js | 275 ----- ...rations-scopes(alwaysstrict=false).symbols | 293 ------ ...larations-scopes(alwaysstrict=false).types | 374 ------- ...lidContexts(alwaysstrict=false).errors.txt | 127 --- ...tions-validContexts(alwaysstrict=false).js | 227 ---- ...-validContexts(alwaysstrict=false).symbols | 197 ---- ...ns-validContexts(alwaysstrict=false).types | 253 ----- ...KeywordsYes(alwaysstrict=false).errors.txt | 338 ------ .../convertKeywordsYes(alwaysstrict=false).js | 530 ---------- ...ertKeywordsYes(alwaysstrict=false).js.diff | 119 --- ...ertKeywordsYes(alwaysstrict=false).symbols | 882 ---------------- ...nvertKeywordsYes(alwaysstrict=false).types | 965 ------------------ .../compiler/deleteOperator1.errors.txt | 11 +- .../compiler/deleteOperator1.errors.txt.diff | 32 - .../compiler/downlevelLetConst6.errors.txt | 5 +- .../downlevelLetConst6.errors.txt.diff | 14 - ...duplicateIdentifierInCatchBlock.errors.txt | 14 +- ...cateIdentifierInCatchBlock.errors.txt.diff | 36 - ...waysstrict=false,target=es2015).errors.txt | 58 -- ...ments(alwaysstrict=false,target=es2015).js | 62 -- ...(alwaysstrict=false,target=es2015).js.diff | 62 -- ...(alwaysstrict=false,target=es2015).symbols | 56 - ...ts(alwaysstrict=false,target=es2015).types | 73 -- .../functionExpressionInWithBlock.errors.txt | 5 +- ...ctionExpressionInWithBlock.errors.txt.diff | 16 - .../compiler/innerModExport1.errors.txt | 7 +- .../compiler/innerModExport1.errors.txt.diff | 21 +- .../compiler/innerModExport1.symbols | 2 - .../compiler/innerModExport1.symbols.diff | 9 - .../submodule/compiler/innerModExport1.types | 6 +- .../compiler/innerModExport1.types.diff | 13 - .../compiler/innerModExport2.errors.txt | 5 +- .../compiler/innerModExport2.errors.txt.diff | 14 +- ...ilityErrors(alwaysstrict=false).errors.txt | 31 - ...habilityErrors(alwaysstrict=false).symbols | 40 - ...achabilityErrors(alwaysstrict=false).types | 47 - .../letAndVarRedeclaration.errors.txt | 8 +- .../letAndVarRedeclaration.errors.txt.diff | 43 - .../compiler/letAsIdentifier.errors.txt | 8 +- .../compiler/letAsIdentifier.errors.txt.diff | 23 - .../compiler/letAsIdentifier2.errors.txt | 7 + .../compiler/letAsIdentifier2.errors.txt.diff | 11 - ...letDeclarations-invalidContexts.errors.txt | 11 +- ...clarations-invalidContexts.errors.txt.diff | 46 - .../letDeclarations-scopes.errors.txt | 14 +- .../letDeclarations-scopes.errors.txt.diff | 51 - .../letDeclarations-validContexts.errors.txt | 32 +- ...Declarations-validContexts.errors.txt.diff | 89 -- ...Declarations_ES5(target=es2015).errors.txt | 8 +- ...rations_ES5(target=es2015).errors.txt.diff | 25 - .../letInConstDeclarations_ES6.errors.txt | 8 +- ...letInConstDeclarations_ES6.errors.txt.diff | 25 - ...orOfAndForIn_ES5(target=es2015).errors.txt | 26 +- ...ndForIn_ES5(target=es2015).errors.txt.diff | 73 -- ...LetConstDeclOfForOfAndForIn_ES6.errors.txt | 26 +- ...nstDeclOfForOfAndForIn_ES6.errors.txt.diff | 73 -- ...Declarations_ES5(target=es2015).errors.txt | 8 +- ...rations_ES5(target=es2015).errors.txt.diff | 25 - .../letInLetDeclarations_ES6.errors.txt | 8 +- .../letInLetDeclarations_ES6.errors.txt.diff | 25 - ...rDeclOfForIn_ES5(target=es2015).errors.txt | 16 + ...OfForIn_ES5(target=es2015).errors.txt.diff | 20 - .../letInVarDeclOfForIn_ES6.errors.txt | 16 + .../letInVarDeclOfForIn_ES6.errors.txt.diff | 20 - ...rDeclOfForOf_ES5(target=es2015).errors.txt | 16 + ...OfForOf_ES5(target=es2015).errors.txt.diff | 20 - .../letInVarDeclOfForOf_ES6.errors.txt | 16 + .../letInVarDeclOfForOf_ES6.errors.txt.diff | 20 - ...nStatements(alwaysstrict=false).errors.txt | 32 - ...loseParenStatements(alwaysstrict=false).js | 30 - ...arenStatements(alwaysstrict=false).symbols | 39 - ...eParenStatements(alwaysstrict=false).types | 69 -- .../moduleElementsInWrongContext.symbols | 4 +- .../moduleElementsInWrongContext.symbols.diff | 16 - .../sourceMapValidationLabeled.errors.txt | 8 + ...sourceMapValidationLabeled.errors.txt.diff | 12 - .../sourceMapValidationStatements.errors.txt | 5 +- ...rceMapValidationStatements.errors.txt.diff | 21 - .../strictModeReservedWord.errors.txt | 5 +- .../strictModeReservedWord.errors.txt.diff | 19 - ...eReservedWordInClassDeclaration.errors.txt | 5 +- ...rvedWordInClassDeclaration.errors.txt.diff | 19 - .../compiler/withStatement.errors.txt | 5 +- .../compiler/withStatement.errors.txt.diff | 17 - .../compiler/withStatementErrors.errors.txt | 5 +- .../withStatementErrors.errors.txt.diff | 17 - .../withStatementNestedScope.errors.txt | 5 +- .../withStatementNestedScope.errors.txt.diff | 16 - ...-of19(alwaysstrict=false,target=es2015).js | 22 - ...(alwaysstrict=false,target=es2015).symbols | 21 - ...19(alwaysstrict=false,target=es2015).types | 23 - .../FunctionDeclaration11_es6.errors.txt | 8 + .../FunctionDeclaration11_es6.errors.txt.diff | 12 - .../FunctionDeclaration12_es6.errors.txt | 4 +- .../FunctionDeclaration12_es6.errors.txt.diff | 12 - .../FunctionDeclaration13_es6.errors.txt | 5 +- .../FunctionDeclaration13_es6.errors.txt.diff | 17 - ...ionDeclaration2_es6(alwaysstrict=false).js | 9 - ...claration2_es6(alwaysstrict=false).symbols | 7 - ...Declaration2_es6(alwaysstrict=false).types | 7 - .../FunctionDeclaration3_es6.errors.txt | 8 +- .../FunctionDeclaration3_es6.errors.txt.diff | 21 - .../FunctionDeclaration4_es6.errors.txt | 8 + .../FunctionDeclaration4_es6.errors.txt.diff | 12 - .../FunctionDeclaration5_es6.errors.txt | 4 +- .../FunctionDeclaration5_es6.errors.txt.diff | 16 - .../FunctionDeclaration8_es6.errors.txt | 5 +- .../FunctionDeclaration8_es6.errors.txt.diff | 16 - ...ernalModule(alwaysstrict=false).errors.txt | 46 - ...ortInInternalModule(alwaysstrict=false).js | 66 -- ...InternalModule(alwaysstrict=false).symbols | 95 -- ...InInternalModule(alwaysstrict=false).types | 105 -- .../VariableDeclaration6_es6.errors.txt | 5 +- .../VariableDeclaration6_es6.errors.txt.diff | 14 - .../YieldExpression1_es6.errors.txt | 5 +- .../YieldExpression1_es6.errors.txt.diff | 14 - .../YieldExpression8_es6.errors.txt | 5 +- .../YieldExpression8_es6.errors.txt.diff | 15 - .../YieldStarExpression1_es6.errors.txt | 5 +- .../YieldStarExpression1_es6.errors.txt.diff | 16 - ...ionContexts(alwaysstrict=false).errors.txt | 116 --- ...rowFunctionContexts(alwaysstrict=false).js | 182 ---- ...nctionContexts(alwaysstrict=false).js.diff | 28 - ...nctionContexts(alwaysstrict=false).symbols | 210 ---- ...FunctionContexts(alwaysstrict=false).types | 253 ----- ...asiPreventsParsingAsInterface01.errors.txt | 8 +- ...eventsParsingAsInterface01.errors.txt.diff | 21 - ...asiPreventsParsingAsInterface02.errors.txt | 14 + ...eventsParsingAsInterface02.errors.txt.diff | 18 - ...asiPreventsParsingAsInterface03.errors.txt | 16 + ...eventsParsingAsInterface03.errors.txt.diff | 20 - ...asiPreventsParsingAsInterface04.errors.txt | 8 +- ...eventsParsingAsInterface04.errors.txt.diff | 25 - ...syncOrYieldAsBindingIdentifier1.errors.txt | 23 +- ...rYieldAsBindingIdentifier1.errors.txt.diff | 64 -- .../controlFlowDeleteOperator.errors.txt | 5 +- .../controlFlowDeleteOperator.errors.txt.diff | 22 - ...deleteOperatorInvalidOperations.errors.txt | 8 +- ...eOperatorInvalidOperations.errors.txt.diff | 36 - ...nyOtherType(alwaysstrict=false).errors.txt | 139 --- ...torWithAnyOtherType(alwaysstrict=false).js | 118 --- ...thAnyOtherType(alwaysstrict=false).js.diff | 10 - ...thAnyOtherType(alwaysstrict=false).symbols | 190 ---- ...WithAnyOtherType(alwaysstrict=false).types | 246 ----- .../deleteOperatorWithBooleanType.errors.txt | 11 +- ...eteOperatorWithBooleanType.errors.txt.diff | 55 - .../deleteOperatorWithEnumType.errors.txt | 20 +- ...deleteOperatorWithEnumType.errors.txt.diff | 72 -- .../deleteOperatorWithNumberType.errors.txt | 17 +- ...leteOperatorWithNumberType.errors.txt.diff | 71 -- .../deleteOperatorWithStringType.errors.txt | 17 +- ...leteOperatorWithStringType.errors.txt.diff | 69 -- ...nts03(alwaysstrict=false,target=es2015).js | 9 - ...(alwaysstrict=false,target=es2015).symbols | 10 - ...03(alwaysstrict=false,target=es2015).types | 11 - ...singArguments03_ES6(alwaysstrict=false).js | 9 - ...rguments03_ES6(alwaysstrict=false).symbols | 10 - ...gArguments03_ES6(alwaysstrict=false).types | 11 - ...nts04(alwaysstrict=false,target=es2015).js | 13 - ...(alwaysstrict=false,target=es2015).symbols | 13 - ...04(alwaysstrict=false,target=es2015).types | 14 - ...singArguments04_ES6(alwaysstrict=false).js | 13 - ...rguments04_ES6(alwaysstrict=false).symbols | 13 - ...gArguments04_ES6(alwaysstrict=false).types | 14 - ...nts05(alwaysstrict=false,target=es2015).js | 11 - ...(alwaysstrict=false,target=es2015).symbols | 11 - ...05(alwaysstrict=false,target=es2015).types | 12 - ...singArguments05_ES6(alwaysstrict=false).js | 11 - ...rguments05_ES6(alwaysstrict=false).symbols | 11 - ...gArguments05_ES6(alwaysstrict=false).types | 12 - ...nts06(alwaysstrict=false,target=es2015).js | 11 - ...(alwaysstrict=false,target=es2015).symbols | 11 - ...06(alwaysstrict=false,target=es2015).types | 13 - ...singArguments06_ES6(alwaysstrict=false).js | 11 - ...rguments06_ES6(alwaysstrict=false).symbols | 11 - ...gArguments06_ES6(alwaysstrict=false).types | 13 - ...nts07(alwaysstrict=false,target=es2015).js | 11 - ...(alwaysstrict=false,target=es2015).symbols | 12 - ...07(alwaysstrict=false,target=es2015).types | 14 - ...singArguments07_ES6(alwaysstrict=false).js | 11 - ...rguments07_ES6(alwaysstrict=false).symbols | 12 - ...gArguments07_ES6(alwaysstrict=false).types | 14 - ...nts08(alwaysstrict=false,target=es2015).js | 11 - ...(alwaysstrict=false,target=es2015).symbols | 12 - ...08(alwaysstrict=false,target=es2015).types | 14 - ...singArguments08_ES6(alwaysstrict=false).js | 11 - ...rguments08_ES6(alwaysstrict=false).symbols | 12 - ...gArguments08_ES6(alwaysstrict=false).types | 14 - ...nts11(alwaysstrict=false,target=es2015).js | 13 - ...(alwaysstrict=false,target=es2015).symbols | 14 - ...11(alwaysstrict=false,target=es2015).types | 17 - ...singArguments11_ES6(alwaysstrict=false).js | 13 - ...rguments11_ES6(alwaysstrict=false).symbols | 14 - ...gArguments11_ES6(alwaysstrict=false).types | 17 - ...nts13(alwaysstrict=false,target=es2015).js | 13 - ...(alwaysstrict=false,target=es2015).symbols | 14 - ...13(alwaysstrict=false,target=es2015).types | 17 - ...singArguments13_ES6(alwaysstrict=false).js | 13 - ...rguments13_ES6(alwaysstrict=false).symbols | 14 - ...gArguments13_ES6(alwaysstrict=false).types | 17 - ...nts14(alwaysstrict=false,target=es2015).js | 17 - ...(alwaysstrict=false,target=es2015).symbols | 18 - ...14(alwaysstrict=false,target=es2015).types | 21 - ...singArguments14_ES6(alwaysstrict=false).js | 17 - ...rguments14_ES6(alwaysstrict=false).symbols | 18 - ...gArguments14_ES6(alwaysstrict=false).types | 21 - ...nts15(alwaysstrict=false,target=es2015).js | 19 - ...(alwaysstrict=false,target=es2015).symbols | 21 - ...15(alwaysstrict=false,target=es2015).types | 25 - ...singArguments15_ES6(alwaysstrict=false).js | 19 - ...rguments15_ES6(alwaysstrict=false).symbols | 21 - ...gArguments15_ES6(alwaysstrict=false).types | 25 - ...nts16(alwaysstrict=false,target=es2015).js | 19 - ...(alwaysstrict=false,target=es2015).symbols | 20 - ...16(alwaysstrict=false,target=es2015).types | 26 - ...singArguments16_ES6(alwaysstrict=false).js | 19 - ...rguments16_ES6(alwaysstrict=false).symbols | 20 - ...gArguments16_ES6(alwaysstrict=false).types | 26 - ...nts17(alwaysstrict=false,target=es2015).js | 19 - ...(alwaysstrict=false,target=es2015).symbols | 21 - ...17(alwaysstrict=false,target=es2015).types | 28 - ...singArguments17_ES6(alwaysstrict=false).js | 19 - ...rguments17_ES6(alwaysstrict=false).symbols | 21 - ...gArguments17_ES6(alwaysstrict=false).types | 28 - .../submodule/conformance/for-of51.errors.txt | 5 +- .../conformance/for-of51.errors.txt.diff | 14 - .../for-of56(alwaysstrict=false).js | 7 - .../for-of56(alwaysstrict=false).symbols | 6 - .../for-of56(alwaysstrict=false).types | 7 - ...eneratorTypeCheck38(alwaysstrict=false).js | 15 - ...torTypeCheck38(alwaysstrict=false).symbols | 14 - ...ratorTypeCheck38(alwaysstrict=false).types | 17 - ...tCallExpressionInScriptContext1.errors.txt | 11 + ...ExpressionInScriptContext1.errors.txt.diff | 15 - .../invalidDoWhileBreakStatements.errors.txt | 5 +- ...alidDoWhileBreakStatements.errors.txt.diff | 24 - ...nvalidDoWhileContinueStatements.errors.txt | 5 +- ...dDoWhileContinueStatements.errors.txt.diff | 24 - .../invalidForBreakStatements.errors.txt | 5 +- .../invalidForBreakStatements.errors.txt.diff | 24 - .../invalidForContinueStatements.errors.txt | 5 +- ...validForContinueStatements.errors.txt.diff | 24 - .../invalidForInBreakStatements.errors.txt | 5 +- ...nvalidForInBreakStatements.errors.txt.diff | 24 - .../invalidForInContinueStatements.errors.txt | 5 +- ...lidForInContinueStatements.errors.txt.diff | 24 - .../invalidWhileBreakStatements.errors.txt | 5 +- ...nvalidWhileBreakStatements.errors.txt.diff | 24 - .../invalidWhileContinueStatements.errors.txt | 5 +- ...lidWhileContinueStatements.errors.txt.diff | 24 - .../labeledStatementWithLabel.errors.txt | 38 +- .../labeledStatementWithLabel.errors.txt.diff | 65 -- ...abeledStatementWithLabel_es2015.errors.txt | 38 +- ...dStatementWithLabel_es2015.errors.txt.diff | 65 -- .../letIdentifierInElementAccess01.errors.txt | 11 + ...dentifierInElementAccess01.errors.txt.diff | 15 - ...hods.es2018(alwaysstrict=false).errors.txt | 197 ---- ...Methods.es2018(alwaysstrict=false).symbols | 266 ----- ...ssMethods.es2018(alwaysstrict=false).types | 281 ----- ...ions.es2018(alwaysstrict=false).errors.txt | 117 --- ...rations.es2018(alwaysstrict=false).symbols | 145 --- ...larations.es2018(alwaysstrict=false).types | 158 --- ...ions.es2018(alwaysstrict=false).errors.txt | 123 --- ...essions.es2018(alwaysstrict=false).symbols | 158 --- ...pressions.es2018(alwaysstrict=false).types | 198 ---- ...hods.es2018(alwaysstrict=false).errors.txt | 183 ---- ...Methods.es2018(alwaysstrict=false).symbols | 258 ----- ...alMethods.es2018(alwaysstrict=false).types | 296 ------ .../parserComputedPropertyName37.errors.txt | 5 +- ...rserComputedPropertyName37.errors.txt.diff | 16 - ...eclaration1(alwaysstrict=false).errors.txt | 16 - ...ation1(alwaysstrict=false).errors.txt.diff | 13 - ...ariableDeclaration1(alwaysstrict=false).js | 21 - ...leDeclaration1(alwaysstrict=false).symbols | 18 - ...ableDeclaration1(alwaysstrict=false).types | 23 - .../conformance/parserStrictMode1.errors.txt | 5 +- .../parserStrictMode1.errors.txt.diff | 23 - .../parserStrictMode3-negative.errors.txt | 5 +- ...parserStrictMode3-negative.errors.txt.diff | 14 - .../parserStrictMode6-negative.errors.txt | 5 +- ...parserStrictMode6-negative.errors.txt.diff | 14 - .../parserWithStatement2.errors.txt | 5 +- .../parserWithStatement2.errors.txt.diff | 15 - .../conformance/withStatements.errors.txt | 5 +- .../withStatements.errors.txt.diff | 16 - ...-emitDeclarationOnly-and-declarationMap.js | 12 +- ...import-project-with-emitDeclarationOnly.js | 12 +- ...mports-project-with-emitDeclarationOnly.js | 18 +- .../tsbuild/noEmit/changes-composite.js | 393 +++++-- .../noEmit/changes-incremental-declaration.js | 393 +++++-- .../tsbuild/noEmit/changes-incremental.js | 369 ++++++- .../changes-with-initial-noEmit-composite.js | 223 ++-- ...-initial-noEmit-incremental-declaration.js | 223 ++-- ...changes-with-initial-noEmit-incremental.js | 157 ++- .../reference/tsc/noEmit/changes-composite.js | 324 +++++- .../noEmit/changes-incremental-declaration.js | 324 +++++- .../tsc/noEmit/changes-incremental.js | 300 +++++- .../changes-with-initial-noEmit-composite.js | 217 ++-- ...-initial-noEmit-incremental-declaration.js | 217 ++-- ...changes-with-initial-noEmit-incremental.js | 151 ++- 362 files changed, 3429 insertions(+), 15957 deletions(-) delete mode 100644 testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).errors.txt delete mode 100644 testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).js delete mode 100644 testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).symbols delete mode 100644 testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).types delete mode 100644 testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).errors.txt delete mode 100644 testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).js delete mode 100644 testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).symbols delete mode 100644 testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).types delete mode 100644 testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).errors.txt delete mode 100644 testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).js delete mode 100644 testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).symbols delete mode 100644 testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).types delete mode 100644 testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).errors.txt delete mode 100644 testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).js delete mode 100644 testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).js.diff delete mode 100644 testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).symbols delete mode 100644 testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).types create mode 100644 testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES5(target=es2015).errors.txt delete mode 100644 testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES5(target=es2015).errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES5(target=es2015).symbols.diff delete mode 100644 testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES5(target=es2015).types.diff create mode 100644 testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES6.errors.txt delete mode 100644 testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES6.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES6.symbols.diff delete mode 100644 testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES6.types.diff delete mode 100644 testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES5(target=es2015).errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES5(target=es2015).symbols.diff delete mode 100644 testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES5(target=es2015).types.diff delete mode 100644 testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES6.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES6.symbols.diff delete mode 100644 testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES6.types.diff delete mode 100644 testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).js delete mode 100644 testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).symbols delete mode 100644 testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).types delete mode 100644 testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).js delete mode 100644 testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).symbols delete mode 100644 testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).types delete mode 100644 testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).js delete mode 100644 testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).symbols delete mode 100644 testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).types delete mode 100644 testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).js delete mode 100644 testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).symbols delete mode 100644 testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).types delete mode 100644 testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).types.diff delete mode 100644 testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).js delete mode 100644 testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).symbols delete mode 100644 testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).types delete mode 100644 testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).errors.txt delete mode 100644 testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).js delete mode 100644 testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).symbols delete mode 100644 testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).types delete mode 100644 testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).errors.txt delete mode 100644 testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).js delete mode 100644 testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).symbols delete mode 100644 testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).types delete mode 100644 testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).errors.txt delete mode 100644 testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).js delete mode 100644 testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).symbols delete mode 100644 testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).types delete mode 100644 testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).errors.txt delete mode 100644 testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).js delete mode 100644 testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).js.diff delete mode 100644 testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).symbols delete mode 100644 testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).types delete mode 100644 testdata/baselines/reference/submodule/compiler/deleteOperator1.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/compiler/downlevelLetConst6.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/compiler/duplicateIdentifierInCatchBlock.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).errors.txt delete mode 100644 testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).js delete mode 100644 testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).js.diff delete mode 100644 testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).symbols delete mode 100644 testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).types delete mode 100644 testdata/baselines/reference/submodule/compiler/functionExpressionInWithBlock.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/compiler/innerModExport1.symbols.diff delete mode 100644 testdata/baselines/reference/submodule/compiler/innerModExport1.types.diff delete mode 100644 testdata/baselines/reference/submodule/compiler/jsFileCompilationBindReachabilityErrors(alwaysstrict=false).errors.txt delete mode 100644 testdata/baselines/reference/submodule/compiler/jsFileCompilationBindReachabilityErrors(alwaysstrict=false).symbols delete mode 100644 testdata/baselines/reference/submodule/compiler/jsFileCompilationBindReachabilityErrors(alwaysstrict=false).types delete mode 100644 testdata/baselines/reference/submodule/compiler/letAndVarRedeclaration.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/compiler/letAsIdentifier.errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/compiler/letAsIdentifier2.errors.txt delete mode 100644 testdata/baselines/reference/submodule/compiler/letAsIdentifier2.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/compiler/letDeclarations-invalidContexts.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/compiler/letDeclarations-scopes.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/compiler/letDeclarations-validContexts.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/compiler/letInConstDeclarations_ES5(target=es2015).errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/compiler/letInConstDeclarations_ES6.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/compiler/letInLetConstDeclOfForOfAndForIn_ES5(target=es2015).errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/compiler/letInLetConstDeclOfForOfAndForIn_ES6.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/compiler/letInLetDeclarations_ES5(target=es2015).errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/compiler/letInLetDeclarations_ES6.errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/compiler/letInVarDeclOfForIn_ES5(target=es2015).errors.txt delete mode 100644 testdata/baselines/reference/submodule/compiler/letInVarDeclOfForIn_ES5(target=es2015).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/compiler/letInVarDeclOfForIn_ES6.errors.txt delete mode 100644 testdata/baselines/reference/submodule/compiler/letInVarDeclOfForIn_ES6.errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/compiler/letInVarDeclOfForOf_ES5(target=es2015).errors.txt delete mode 100644 testdata/baselines/reference/submodule/compiler/letInVarDeclOfForOf_ES5(target=es2015).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/compiler/letInVarDeclOfForOf_ES6.errors.txt delete mode 100644 testdata/baselines/reference/submodule/compiler/letInVarDeclOfForOf_ES6.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).errors.txt delete mode 100644 testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).js delete mode 100644 testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).symbols delete mode 100644 testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).types delete mode 100644 testdata/baselines/reference/submodule/compiler/moduleElementsInWrongContext.symbols.diff create mode 100644 testdata/baselines/reference/submodule/compiler/sourceMapValidationLabeled.errors.txt delete mode 100644 testdata/baselines/reference/submodule/compiler/sourceMapValidationLabeled.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/compiler/sourceMapValidationStatements.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/compiler/strictModeReservedWord.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/compiler/strictModeReservedWordInClassDeclaration.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/compiler/withStatement.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/compiler/withStatementErrors.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/compiler/withStatementNestedScope.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).js delete mode 100644 testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).symbols delete mode 100644 testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).types create mode 100644 testdata/baselines/reference/submodule/conformance/FunctionDeclaration11_es6.errors.txt delete mode 100644 testdata/baselines/reference/submodule/conformance/FunctionDeclaration11_es6.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/conformance/FunctionDeclaration12_es6.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/conformance/FunctionDeclaration13_es6.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).js delete mode 100644 testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).symbols delete mode 100644 testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).types delete mode 100644 testdata/baselines/reference/submodule/conformance/FunctionDeclaration3_es6.errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/conformance/FunctionDeclaration4_es6.errors.txt delete mode 100644 testdata/baselines/reference/submodule/conformance/FunctionDeclaration4_es6.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/conformance/FunctionDeclaration5_es6.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/conformance/FunctionDeclaration8_es6.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).errors.txt delete mode 100644 testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).js delete mode 100644 testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).symbols delete mode 100644 testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).types delete mode 100644 testdata/baselines/reference/submodule/conformance/VariableDeclaration6_es6.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/conformance/YieldExpression1_es6.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/conformance/YieldExpression8_es6.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/conformance/YieldStarExpression1_es6.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).errors.txt delete mode 100644 testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).js delete mode 100644 testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).js.diff delete mode 100644 testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).symbols delete mode 100644 testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).types delete mode 100644 testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface01.errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface02.errors.txt delete mode 100644 testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface02.errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface03.errors.txt delete mode 100644 testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface03.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface04.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/conformance/asyncOrYieldAsBindingIdentifier1.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/conformance/controlFlowDeleteOperator.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/conformance/deleteOperatorInvalidOperations.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).errors.txt delete mode 100644 testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).js delete mode 100644 testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).js.diff delete mode 100644 testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).symbols delete mode 100644 testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).types delete mode 100644 testdata/baselines/reference/submodule/conformance/deleteOperatorWithBooleanType.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/conformance/deleteOperatorWithEnumType.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/conformance/deleteOperatorWithNumberType.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/conformance/deleteOperatorWithStringType.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).js delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).symbols delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).types delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).js delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).symbols delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).types delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).js delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).symbols delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).types delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).js delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).symbols delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).types delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).js delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).symbols delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).types delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).js delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).symbols delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).types delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).js delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).symbols delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).types delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).js delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).symbols delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).types delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).js delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).symbols delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).types delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).js delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).symbols delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).types delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).js delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).symbols delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).types delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).js delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).symbols delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).types delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).js delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).symbols delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).types delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).js delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).symbols delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).types delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).js delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).symbols delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).types delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).js delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).symbols delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).types delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).js delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).symbols delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).types delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).js delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).symbols delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).types delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).js delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).symbols delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).types delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).js delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).symbols delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).types delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).js delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).symbols delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).types delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).js delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).symbols delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).types delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).js delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).symbols delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).types delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).js delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).symbols delete mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).types delete mode 100644 testdata/baselines/reference/submodule/conformance/for-of51.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).js delete mode 100644 testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).symbols delete mode 100644 testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).types delete mode 100644 testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).js delete mode 100644 testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).symbols delete mode 100644 testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).types create mode 100644 testdata/baselines/reference/submodule/conformance/importCallExpressionInScriptContext1.errors.txt delete mode 100644 testdata/baselines/reference/submodule/conformance/importCallExpressionInScriptContext1.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/conformance/invalidDoWhileBreakStatements.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/conformance/invalidDoWhileContinueStatements.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/conformance/invalidForBreakStatements.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/conformance/invalidForContinueStatements.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/conformance/invalidForInBreakStatements.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/conformance/invalidForInContinueStatements.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/conformance/invalidWhileBreakStatements.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/conformance/invalidWhileContinueStatements.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/conformance/labeledStatementWithLabel.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/conformance/labeledStatementWithLabel_es2015.errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/conformance/letIdentifierInElementAccess01.errors.txt delete mode 100644 testdata/baselines/reference/submodule/conformance/letIdentifierInElementAccess01.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.classMethods.es2018(alwaysstrict=false).errors.txt delete mode 100644 testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.classMethods.es2018(alwaysstrict=false).symbols delete mode 100644 testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.classMethods.es2018(alwaysstrict=false).types delete mode 100644 testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionDeclarations.es2018(alwaysstrict=false).errors.txt delete mode 100644 testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionDeclarations.es2018(alwaysstrict=false).symbols delete mode 100644 testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionDeclarations.es2018(alwaysstrict=false).types delete mode 100644 testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionExpressions.es2018(alwaysstrict=false).errors.txt delete mode 100644 testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionExpressions.es2018(alwaysstrict=false).symbols delete mode 100644 testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionExpressions.es2018(alwaysstrict=false).types delete mode 100644 testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.objectLiteralMethods.es2018(alwaysstrict=false).errors.txt delete mode 100644 testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.objectLiteralMethods.es2018(alwaysstrict=false).symbols delete mode 100644 testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.objectLiteralMethods.es2018(alwaysstrict=false).types delete mode 100644 testdata/baselines/reference/submodule/conformance/parserComputedPropertyName37.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).errors.txt delete mode 100644 testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).js delete mode 100644 testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).symbols delete mode 100644 testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).types delete mode 100644 testdata/baselines/reference/submodule/conformance/parserStrictMode1.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/conformance/parserStrictMode3-negative.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/conformance/parserStrictMode6-negative.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/conformance/parserWithStatement2.errors.txt.diff delete mode 100644 testdata/baselines/reference/submodule/conformance/withStatements.errors.txt.diff diff --git a/testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).errors.txt deleted file mode 100644 index bef1bb8c98d..00000000000 --- a/testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).errors.txt +++ /dev/null @@ -1,42 +0,0 @@ -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 TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. - - -==== ambientWithStatements.ts (4 errors) ==== - declare namespace M { - break; - ~~~~~ -!!! error TS1036: Statements are not allowed in ambient contexts. - continue; - ~~~~~~~~~ -!!! error TS1104: A 'continue' statement can only be used within an enclosing iteration statement. - debugger; - do { } while (true); - var x; - for (x in null) { } - if (true) { } else { } - 1; - L: var y; - return; - ~~~~~~ -!!! error TS1108: A 'return' statement can only be used within a function body. - switch (x) { - case 1: - break; - default: - break; - } - throw "nooo"; - try { - } - catch (e) { - } - finally { - } - with (x) { - ~~~~~~~~ -!!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. - } - } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).js b/testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).js deleted file mode 100644 index d56d11b0214..00000000000 --- a/testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).js +++ /dev/null @@ -1,32 +0,0 @@ -//// [tests/cases/compiler/ambientWithStatements.ts] //// - -//// [ambientWithStatements.ts] -declare namespace M { - break; - continue; - debugger; - do { } while (true); - var x; - for (x in null) { } - if (true) { } else { } - 1; - L: var y; - return; - switch (x) { - case 1: - break; - default: - break; - } - throw "nooo"; - try { - } - catch (e) { - } - finally { - } - with (x) { - } -} - -//// [ambientWithStatements.js] diff --git a/testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).symbols deleted file mode 100644 index 9442562aa5e..00000000000 --- a/testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).symbols +++ /dev/null @@ -1,42 +0,0 @@ -//// [tests/cases/compiler/ambientWithStatements.ts] //// - -=== ambientWithStatements.ts === -declare namespace M { ->M : Symbol(M, Decl(ambientWithStatements.ts, 0, 0)) - - break; - continue; - debugger; - do { } while (true); - var x; ->x : Symbol(x, Decl(ambientWithStatements.ts, 5, 7)) - - for (x in null) { } ->x : Symbol(x, Decl(ambientWithStatements.ts, 5, 7)) - - if (true) { } else { } - 1; - L: var y; ->y : Symbol(y, Decl(ambientWithStatements.ts, 9, 10)) - - return; - switch (x) { ->x : Symbol(x, Decl(ambientWithStatements.ts, 5, 7)) - - case 1: - break; - default: - break; - } - throw "nooo"; - try { - } - catch (e) { ->e : Symbol(e, Decl(ambientWithStatements.ts, 20, 11)) - } - finally { - } - with (x) { ->x : Symbol(x, Decl(ambientWithStatements.ts, 5, 7)) - } -} diff --git a/testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).types b/testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).types deleted file mode 100644 index 5a3b13ca979..00000000000 --- a/testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).types +++ /dev/null @@ -1,53 +0,0 @@ -//// [tests/cases/compiler/ambientWithStatements.ts] //// - -=== ambientWithStatements.ts === -declare namespace M { ->M : typeof M - - break; - continue; - debugger; - do { } while (true); ->true : true - - var x; ->x : any - - for (x in null) { } ->x : any - - if (true) { } else { } ->true : true - - 1; ->1 : 1 - - L: var y; ->L : any ->y : any - - return; - switch (x) { ->x : any - - case 1: ->1 : 1 - - break; - default: - break; - } - throw "nooo"; ->"nooo" : "nooo" - - try { - } - catch (e) { ->e : any - } - finally { - } - with (x) { ->x : any - } -} diff --git a/testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).errors.txt deleted file mode 100644 index 6f0eacb5dff..00000000000 --- a/testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).errors.txt +++ /dev/null @@ -1,10 +0,0 @@ -argumentsBindsToFunctionScopeArgumentList.ts(3,5): error TS2322: Type 'number' is not assignable to type 'IArguments'. - - -==== argumentsBindsToFunctionScopeArgumentList.ts (1 errors) ==== - var arguments = 10; - function foo(a) { - arguments = 10; /// This shouldnt be of type number and result in error. - ~~~~~~~~~ -!!! error TS2322: Type 'number' is not assignable to type 'IArguments'. - } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).js b/testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).js deleted file mode 100644 index b18f1cc7d05..00000000000 --- a/testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).js +++ /dev/null @@ -1,13 +0,0 @@ -//// [tests/cases/compiler/argumentsBindsToFunctionScopeArgumentList.ts] //// - -//// [argumentsBindsToFunctionScopeArgumentList.ts] -var arguments = 10; -function foo(a) { - arguments = 10; /// This shouldnt be of type number and result in error. -} - -//// [argumentsBindsToFunctionScopeArgumentList.js] -var arguments = 10; -function foo(a) { - arguments = 10; /// This shouldnt be of type number and result in error. -} diff --git a/testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).symbols deleted file mode 100644 index a7c67c1447c..00000000000 --- a/testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).symbols +++ /dev/null @@ -1,13 +0,0 @@ -//// [tests/cases/compiler/argumentsBindsToFunctionScopeArgumentList.ts] //// - -=== argumentsBindsToFunctionScopeArgumentList.ts === -var arguments = 10; ->arguments : Symbol(arguments, Decl(argumentsBindsToFunctionScopeArgumentList.ts, 0, 3)) - -function foo(a) { ->foo : Symbol(foo, Decl(argumentsBindsToFunctionScopeArgumentList.ts, 0, 19)) ->a : Symbol(a, Decl(argumentsBindsToFunctionScopeArgumentList.ts, 1, 13)) - - arguments = 10; /// This shouldnt be of type number and result in error. ->arguments : Symbol(arguments) -} diff --git a/testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).types b/testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).types deleted file mode 100644 index eafe3ade4ec..00000000000 --- a/testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).types +++ /dev/null @@ -1,16 +0,0 @@ -//// [tests/cases/compiler/argumentsBindsToFunctionScopeArgumentList.ts] //// - -=== argumentsBindsToFunctionScopeArgumentList.ts === -var arguments = 10; ->arguments : number ->10 : 10 - -function foo(a) { ->foo : (a: any) => void ->a : any - - arguments = 10; /// This shouldnt be of type number and result in error. ->arguments = 10 : 10 ->arguments : IArguments ->10 : 10 -} diff --git a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).errors.txt deleted file mode 100644 index 1c26e2e6011..00000000000 --- a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).errors.txt +++ /dev/null @@ -1,32 +0,0 @@ -/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 (1 errors) ==== - const a = () => { - return { - arguments: [], - }; - }; - - const b = () => { - const c = { - arguments: [], - } - return c; - }; - - const c = () => { - return { - arguments, - ~~~~~~~~~ -!!! error TS18004: No value exists in scope for the shorthand property 'arguments'. Either declare one or provide an initializer. - }; - } - - const d = () => { - const arguments = undefined; - return { - arguments, - }; - } - \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).js b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).js deleted file mode 100644 index d2b7a2997e9..00000000000 --- a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).js +++ /dev/null @@ -1,53 +0,0 @@ -//// [tests/cases/compiler/argumentsReferenceInObjectLiteral_Js.ts] //// - -//// [a.js] -const a = () => { - return { - arguments: [], - }; -}; - -const b = () => { - const c = { - arguments: [], - } - return c; -}; - -const c = () => { - return { - arguments, - }; -} - -const d = () => { - const arguments = undefined; - return { - arguments, - }; -} - - -//// [a.js] -const a = () => { - return { - arguments: [], - }; -}; -const b = () => { - const c = { - arguments: [], - }; - return c; -}; -const c = () => { - return { - arguments, - }; -}; -const d = () => { - const arguments = undefined; - return { - arguments, - }; -}; diff --git a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).symbols deleted file mode 100644 index aa97a19bca1..00000000000 --- a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).symbols +++ /dev/null @@ -1,51 +0,0 @@ -//// [tests/cases/compiler/argumentsReferenceInObjectLiteral_Js.ts] //// - -=== /a.js === -const a = () => { ->a : Symbol(a, Decl(a.js, 0, 5)) - - return { - arguments: [], ->arguments : Symbol(arguments, Decl(a.js, 1, 12)) - - }; -}; - -const b = () => { ->b : Symbol(b, Decl(a.js, 6, 5)) - - const c = { ->c : Symbol(c, Decl(a.js, 7, 9)) - - arguments: [], ->arguments : Symbol(arguments, Decl(a.js, 7, 15)) - } - return c; ->c : Symbol(c, Decl(a.js, 7, 9)) - -}; - -const c = () => { ->c : Symbol(c, Decl(a.js, 13, 5)) - - return { - arguments, ->arguments : Symbol(arguments, Decl(a.js, 14, 12)) - - }; -} - -const d = () => { ->d : Symbol(d, Decl(a.js, 19, 5)) - - const arguments = undefined; ->arguments : Symbol(arguments, Decl(a.js, 20, 9)) ->undefined : Symbol(undefined) - - return { - arguments, ->arguments : Symbol(arguments, Decl(a.js, 21, 12)) - - }; -} - diff --git a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).types b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).types deleted file mode 100644 index c29b02354c5..00000000000 --- a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).types +++ /dev/null @@ -1,64 +0,0 @@ -//// [tests/cases/compiler/argumentsReferenceInObjectLiteral_Js.ts] //// - -=== /a.js === -const a = () => { ->a : () => { arguments: any[]; } ->() => { return { arguments: [], };} : () => { arguments: any[]; } - - return { ->{ arguments: [], } : { arguments: undefined[]; } - - arguments: [], ->arguments : undefined[] ->[] : undefined[] - - }; -}; - -const b = () => { ->b : () => { arguments: any[]; } ->() => { const c = { arguments: [], } return c;} : () => { arguments: any[]; } - - const c = { ->c : { arguments: any[]; } ->{ arguments: [], } : { arguments: undefined[]; } - - arguments: [], ->arguments : undefined[] ->[] : undefined[] - } - return c; ->c : { arguments: any[]; } - -}; - -const c = () => { ->c : () => { arguments: any; } ->() => { return { arguments, };} : () => { arguments: any; } - - return { ->{ arguments, } : { arguments: any; } - - arguments, ->arguments : any - - }; -} - -const d = () => { ->d : () => { arguments: any; } ->() => { const arguments = undefined; return { arguments, };} : () => { arguments: any; } - - const arguments = undefined; ->arguments : any ->undefined : undefined - - return { ->{ arguments, } : { arguments: any; } - - arguments, ->arguments : any - - }; -} - diff --git a/testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).errors.txt deleted file mode 100644 index c3653603ddc..00000000000 --- a/testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).errors.txt +++ /dev/null @@ -1,52 +0,0 @@ -asiPublicPrivateProtected.ts(1,1): error TS2304: Cannot find name 'public'. -asiPublicPrivateProtected.ts(12,1): error TS2304: Cannot find name 'private'. -asiPublicPrivateProtected.ts(23,1): error TS2304: Cannot find name 'protected'. - - -==== asiPublicPrivateProtected.ts (3 errors) ==== - public - ~~~~~~ -!!! error TS2304: Cannot find name 'public'. - class NonPublicClass { - public s() { - } - } - - class NonPublicClass2 { - public - private nonPublicFunction() { - } - } - private - ~~~~~~~ -!!! error TS2304: Cannot find name 'private'. - class NonPrivateClass { - private s() { - } - } - - class NonPrivateClass2 { - private - public nonPrivateFunction() { - } - } - protected - ~~~~~~~~~ -!!! error TS2304: Cannot find name 'protected'. - class NonProtectedClass { - protected s() { - } - } - - class NonProtectedClass2 { - protected - public nonProtectedFunction() { - } - } - - class ClassWithThreeMembers { - public - private - protected - } - \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).js b/testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).js deleted file mode 100644 index f819af10e73..00000000000 --- a/testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).js +++ /dev/null @@ -1,80 +0,0 @@ -//// [tests/cases/compiler/asiPublicPrivateProtected.ts] //// - -//// [asiPublicPrivateProtected.ts] -public -class NonPublicClass { - public s() { - } -} - -class NonPublicClass2 { - public - private nonPublicFunction() { - } -} -private -class NonPrivateClass { - private s() { - } -} - -class NonPrivateClass2 { - private - public nonPrivateFunction() { - } -} -protected -class NonProtectedClass { - protected s() { - } -} - -class NonProtectedClass2 { - protected - public nonProtectedFunction() { - } -} - -class ClassWithThreeMembers { - public - private - protected -} - - -//// [asiPublicPrivateProtected.js] -public; -class NonPublicClass { - s() { - } -} -class NonPublicClass2 { - public; - nonPublicFunction() { - } -} -private; -class NonPrivateClass { - s() { - } -} -class NonPrivateClass2 { - private; - nonPrivateFunction() { - } -} -protected; -class NonProtectedClass { - s() { - } -} -class NonProtectedClass2 { - protected; - nonProtectedFunction() { - } -} -class ClassWithThreeMembers { - public; - private; - protected; -} diff --git a/testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).js.diff deleted file mode 100644 index 764010cabd2..00000000000 --- a/testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).js.diff +++ /dev/null @@ -1,31 +0,0 @@ ---- old.asiPublicPrivateProtected(alwaysstrict=false).js -+++ new.asiPublicPrivateProtected(alwaysstrict=false).js -@@= skipped -48, +48 lines =@@ - } - } - class NonPublicClass2 { -+ public; - nonPublicFunction() { - } - } -@@= skipped -9, +10 lines =@@ - } - } - class NonPrivateClass2 { -+ private; - nonPrivateFunction() { - } - } -@@= skipped -9, +10 lines =@@ - } - } - class NonProtectedClass2 { -+ protected; - nonProtectedFunction() { - } - } - class ClassWithThreeMembers { -+ public; -+ private; -+ protected; - } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).symbols deleted file mode 100644 index 546fbb63277..00000000000 --- a/testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).symbols +++ /dev/null @@ -1,74 +0,0 @@ -//// [tests/cases/compiler/asiPublicPrivateProtected.ts] //// - -=== asiPublicPrivateProtected.ts === -public -class NonPublicClass { ->NonPublicClass : Symbol(NonPublicClass, Decl(asiPublicPrivateProtected.ts, 0, 6)) - - public s() { ->s : Symbol(NonPublicClass.s, Decl(asiPublicPrivateProtected.ts, 1, 22)) - } -} - -class NonPublicClass2 { ->NonPublicClass2 : Symbol(NonPublicClass2, Decl(asiPublicPrivateProtected.ts, 4, 1)) - - public ->public : Symbol(NonPublicClass2.public, Decl(asiPublicPrivateProtected.ts, 6, 23)) - - private nonPublicFunction() { ->nonPublicFunction : Symbol(NonPublicClass2.nonPublicFunction, Decl(asiPublicPrivateProtected.ts, 7, 10)) - } -} -private -class NonPrivateClass { ->NonPrivateClass : Symbol(NonPrivateClass, Decl(asiPublicPrivateProtected.ts, 11, 7)) - - private s() { ->s : Symbol(NonPrivateClass.s, Decl(asiPublicPrivateProtected.ts, 12, 23)) - } -} - -class NonPrivateClass2 { ->NonPrivateClass2 : Symbol(NonPrivateClass2, Decl(asiPublicPrivateProtected.ts, 15, 1)) - - private ->private : Symbol(NonPrivateClass2.private, Decl(asiPublicPrivateProtected.ts, 17, 24)) - - public nonPrivateFunction() { ->nonPrivateFunction : Symbol(NonPrivateClass2.nonPrivateFunction, Decl(asiPublicPrivateProtected.ts, 18, 11)) - } -} -protected -class NonProtectedClass { ->NonProtectedClass : Symbol(NonProtectedClass, Decl(asiPublicPrivateProtected.ts, 22, 9)) - - protected s() { ->s : Symbol(NonProtectedClass.s, Decl(asiPublicPrivateProtected.ts, 23, 25)) - } -} - -class NonProtectedClass2 { ->NonProtectedClass2 : Symbol(NonProtectedClass2, Decl(asiPublicPrivateProtected.ts, 26, 1)) - - protected ->protected : Symbol(NonProtectedClass2.protected, Decl(asiPublicPrivateProtected.ts, 28, 26)) - - public nonProtectedFunction() { ->nonProtectedFunction : Symbol(NonProtectedClass2.nonProtectedFunction, Decl(asiPublicPrivateProtected.ts, 29, 13)) - } -} - -class ClassWithThreeMembers { ->ClassWithThreeMembers : Symbol(ClassWithThreeMembers, Decl(asiPublicPrivateProtected.ts, 32, 1)) - - public ->public : Symbol(ClassWithThreeMembers.public, Decl(asiPublicPrivateProtected.ts, 34, 29)) - - private ->private : Symbol(ClassWithThreeMembers.private, Decl(asiPublicPrivateProtected.ts, 35, 10)) - - protected ->protected : Symbol(ClassWithThreeMembers.protected, Decl(asiPublicPrivateProtected.ts, 36, 11)) -} - diff --git a/testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).types b/testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).types deleted file mode 100644 index 98bbc633fcc..00000000000 --- a/testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).types +++ /dev/null @@ -1,80 +0,0 @@ -//// [tests/cases/compiler/asiPublicPrivateProtected.ts] //// - -=== asiPublicPrivateProtected.ts === -public ->public : any - -class NonPublicClass { ->NonPublicClass : NonPublicClass - - public s() { ->s : () => void - } -} - -class NonPublicClass2 { ->NonPublicClass2 : NonPublicClass2 - - public ->public : any - - private nonPublicFunction() { ->nonPublicFunction : () => void - } -} -private ->private : any - -class NonPrivateClass { ->NonPrivateClass : NonPrivateClass - - private s() { ->s : () => void - } -} - -class NonPrivateClass2 { ->NonPrivateClass2 : NonPrivateClass2 - - private ->private : any - - public nonPrivateFunction() { ->nonPrivateFunction : () => void - } -} -protected ->protected : any - -class NonProtectedClass { ->NonProtectedClass : NonProtectedClass - - protected s() { ->s : () => void - } -} - -class NonProtectedClass2 { ->NonProtectedClass2 : NonProtectedClass2 - - protected ->protected : any - - public nonProtectedFunction() { ->nonProtectedFunction : () => void - } -} - -class ClassWithThreeMembers { ->ClassWithThreeMembers : ClassWithThreeMembers - - public ->public : any - - private ->private : any - - protected ->protected : any -} - diff --git a/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES5(target=es2015).errors.txt b/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES5(target=es2015).errors.txt new file mode 100644 index 00000000000..c5904d75507 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES5(target=es2015).errors.txt @@ -0,0 +1,11 @@ +blockScopedFunctionDeclarationES5.ts(5,1): error TS2304: Cannot find name 'foo'. + + +==== blockScopedFunctionDeclarationES5.ts (1 errors) ==== + if (true) { + function foo() { } + foo(); + } + foo(); + ~~~ +!!! error TS2304: Cannot find name 'foo'. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES5(target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES5(target=es2015).errors.txt.diff deleted file mode 100644 index 26d5042d9d5..00000000000 --- a/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES5(target=es2015).errors.txt.diff +++ /dev/null @@ -1,15 +0,0 @@ ---- old.blockScopedFunctionDeclarationES5(target=es2015).errors.txt -+++ new.blockScopedFunctionDeclarationES5(target=es2015).errors.txt -@@= skipped -0, +0 lines =@@ --blockScopedFunctionDeclarationES5.ts(5,1): error TS2304: Cannot find name 'foo'. -- -- --==== blockScopedFunctionDeclarationES5.ts (1 errors) ==== -- if (true) { -- function foo() { } -- foo(); -- } -- foo(); -- ~~~ --!!! error TS2304: Cannot find name 'foo'. -+ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES5(target=es2015).symbols b/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES5(target=es2015).symbols index 7a4653165a1..3a54ffb3303 100644 --- a/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES5(target=es2015).symbols +++ b/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES5(target=es2015).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/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES5(target=es2015).symbols.diff b/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES5(target=es2015).symbols.diff deleted file mode 100644 index 9857b610b21..00000000000 --- a/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES5(target=es2015).symbols.diff +++ /dev/null @@ -1,8 +0,0 @@ ---- old.blockScopedFunctionDeclarationES5(target=es2015).symbols -+++ new.blockScopedFunctionDeclarationES5(target=es2015).symbols -@@= skipped -8, +8 lines =@@ - >foo : Symbol(foo, Decl(blockScopedFunctionDeclarationES5.ts, 0, 11)) - } - foo(); -+>foo : Symbol(foo, Decl(blockScopedFunctionDeclarationES5.ts, 0, 11)) -+ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES5(target=es2015).types b/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES5(target=es2015).types index c4057907d6f..e5de47beb42 100644 --- a/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES5(target=es2015).types +++ b/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES5(target=es2015).types @@ -12,6 +12,6 @@ if (true) { >foo : () => void } foo(); ->foo() : void ->foo : () => void +>foo() : any +>foo : any diff --git a/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES5(target=es2015).types.diff b/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES5(target=es2015).types.diff deleted file mode 100644 index 3b0adeb3503..00000000000 --- a/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES5(target=es2015).types.diff +++ /dev/null @@ -1,10 +0,0 @@ ---- old.blockScopedFunctionDeclarationES5(target=es2015).types -+++ new.blockScopedFunctionDeclarationES5(target=es2015).types -@@= skipped -11, +11 lines =@@ - >foo : () => void - } - foo(); -->foo() : any -->foo : any -+>foo() : void -+>foo : () => void diff --git a/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES6.errors.txt b/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES6.errors.txt new file mode 100644 index 00000000000..99935089e46 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/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/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES6.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES6.errors.txt.diff deleted file mode 100644 index ea96d549f7c..00000000000 --- a/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES6.errors.txt.diff +++ /dev/null @@ -1,15 +0,0 @@ ---- old.blockScopedFunctionDeclarationES6.errors.txt -+++ new.blockScopedFunctionDeclarationES6.errors.txt -@@= skipped -0, +0 lines =@@ --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/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES6.symbols b/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES6.symbols index f19c147b667..b05ed0cb85f 100644 --- a/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES6.symbols +++ b/testdata/baselines/reference/submodule/compiler/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/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES6.symbols.diff b/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES6.symbols.diff deleted file mode 100644 index ee62dddcd9c..00000000000 --- a/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES6.symbols.diff +++ /dev/null @@ -1,8 +0,0 @@ ---- old.blockScopedFunctionDeclarationES6.symbols -+++ new.blockScopedFunctionDeclarationES6.symbols -@@= skipped -8, +8 lines =@@ - >foo : Symbol(foo, Decl(blockScopedFunctionDeclarationES6.ts, 0, 11)) - } - foo(); -+>foo : Symbol(foo, Decl(blockScopedFunctionDeclarationES6.ts, 0, 11)) -+ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES6.types b/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES6.types index 736fae8cb7d..22d322626bc 100644 --- a/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES6.types +++ b/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES6.types @@ -12,6 +12,6 @@ if (true) { >foo : () => void } foo(); ->foo() : void ->foo : () => void +>foo() : any +>foo : any diff --git a/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES6.types.diff b/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES6.types.diff deleted file mode 100644 index 49d36383472..00000000000 --- a/testdata/baselines/reference/submodule/compiler/blockScopedFunctionDeclarationES6.types.diff +++ /dev/null @@ -1,10 +0,0 @@ ---- old.blockScopedFunctionDeclarationES6.types -+++ new.blockScopedFunctionDeclarationES6.types -@@= skipped -11, +11 lines =@@ - >foo : () => void - } - foo(); -->foo() : any -->foo : any -+>foo() : void -+>foo : () => void diff --git a/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES5(target=es2015).errors.txt b/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES5(target=es2015).errors.txt index 47b4cf9a063..f55ed3017c2 100644 --- a/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES5(target=es2015).errors.txt +++ b/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES5(target=es2015).errors.txt @@ -1,17 +1,13 @@ -blockScopedSameNameFunctionDeclarationES5.ts(3,18): error TS2393: Duplicate function implementation. blockScopedSameNameFunctionDeclarationES5.ts(5,13): error TS2554: Expected 0 arguments, but got 1. -blockScopedSameNameFunctionDeclarationES5.ts(8,18): error TS2393: Duplicate function implementation. 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. -==== blockScopedSameNameFunctionDeclarationES5.ts (6 errors) ==== +==== blockScopedSameNameFunctionDeclarationES5.ts (4 errors) ==== function foo(a: number) { if (a === 1) { function foo() { } // duplicate function - ~~~ -!!! error TS2393: Duplicate function implementation. foo(); foo(10); // not ok ~~ @@ -19,17 +15,16 @@ blockScopedSameNameFunctionDeclarationES5.ts(16,1): error TS2554: Expected 1 arg } else { function foo() { } // duplicate function - ~~~ -!!! 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 blockScopedSameNameFunctionDeclarationES5.ts:1:14: An argument for 'a' was not provided. } foo(10); foo(); // not ok - needs number diff --git a/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES5(target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES5(target=es2015).errors.txt.diff deleted file mode 100644 index 9c22ba6eeb0..00000000000 --- a/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES5(target=es2015).errors.txt.diff +++ /dev/null @@ -1,43 +0,0 @@ ---- old.blockScopedSameNameFunctionDeclarationES5(target=es2015).errors.txt -+++ new.blockScopedSameNameFunctionDeclarationES5(target=es2015).errors.txt -@@= skipped -0, +0 lines =@@ -+blockScopedSameNameFunctionDeclarationES5.ts(3,18): error TS2393: Duplicate function implementation. - blockScopedSameNameFunctionDeclarationES5.ts(5,13): error TS2554: Expected 0 arguments, but got 1. -+blockScopedSameNameFunctionDeclarationES5.ts(8,18): error TS2393: Duplicate function implementation. - blockScopedSameNameFunctionDeclarationES5.ts(10,13): error TS2554: Expected 0 arguments, but got 1. --blockScopedSameNameFunctionDeclarationES5.ts(13,5): error TS2554: Expected 1 arguments, but got 0. -+blockScopedSameNameFunctionDeclarationES5.ts(12,9): error TS2554: Expected 0 arguments, but got 1. - blockScopedSameNameFunctionDeclarationES5.ts(16,1): error TS2554: Expected 1 arguments, but got 0. - - --==== blockScopedSameNameFunctionDeclarationES5.ts (4 errors) ==== -+==== blockScopedSameNameFunctionDeclarationES5.ts (6 errors) ==== - function foo(a: number) { - if (a === 1) { - function foo() { } // duplicate function -+ ~~~ -+!!! error TS2393: Duplicate function implementation. - foo(); - foo(10); // not ok - ~~ -@@= skipped -14, +18 lines =@@ - } - else { - function foo() { } // duplicate function -+ ~~~ -+!!! 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 blockScopedSameNameFunctionDeclarationES5.ts:1:14: An argument for 'a' was not provided. - } - foo(10); - foo(); // not ok - needs number \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES5(target=es2015).symbols b/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES5(target=es2015).symbols index 9059c98982c..094cdcd450a 100644 --- a/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES5(target=es2015).symbols +++ b/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES5(target=es2015).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/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES5(target=es2015).symbols.diff b/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES5(target=es2015).symbols.diff deleted file mode 100644 index 50871c5473b..00000000000 --- a/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES5(target=es2015).symbols.diff +++ /dev/null @@ -1,40 +0,0 @@ ---- old.blockScopedSameNameFunctionDeclarationES5(target=es2015).symbols -+++ new.blockScopedSameNameFunctionDeclarationES5(target=es2015).symbols -@@= skipped -8, +8 lines =@@ - >a : Symbol(a, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 0, 13)) - - function foo() { } // duplicate function -->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 1, 18)) -+>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 1, 18), Decl(blockScopedSameNameFunctionDeclarationES5.ts, 6, 10)) - - foo(); -->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 1, 18)) -+>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 1, 18), Decl(blockScopedSameNameFunctionDeclarationES5.ts, 6, 10)) - - foo(10); // not ok -->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 1, 18)) -+>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 1, 18), Decl(blockScopedSameNameFunctionDeclarationES5.ts, 6, 10)) - } - else { - function foo() { } // duplicate function -->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 6, 10)) -+>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 1, 18), Decl(blockScopedSameNameFunctionDeclarationES5.ts, 6, 10)) - - foo(); -->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 6, 10)) -+>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 1, 18), Decl(blockScopedSameNameFunctionDeclarationES5.ts, 6, 10)) - - foo(10); // not ok -->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 6, 10)) -+>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 1, 18), Decl(blockScopedSameNameFunctionDeclarationES5.ts, 6, 10)) - } - foo(10); // not ok -->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 0, 0)) -+>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 1, 18), Decl(blockScopedSameNameFunctionDeclarationES5.ts, 6, 10)) - - foo(); -->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 0, 0)) -+>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 1, 18), Decl(blockScopedSameNameFunctionDeclarationES5.ts, 6, 10)) - } - foo(10); - >foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 0, 0)) \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES5(target=es2015).types b/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES5(target=es2015).types index e0327c7d284..d008ad19f8d 100644 --- a/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES5(target=es2015).types +++ b/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES5(target=es2015).types @@ -11,38 +11,38 @@ function foo(a: number) { >1 : 1 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/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES5(target=es2015).types.diff b/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES5(target=es2015).types.diff deleted file mode 100644 index 0c95dba5d3c..00000000000 --- a/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES5(target=es2015).types.diff +++ /dev/null @@ -1,49 +0,0 @@ ---- old.blockScopedSameNameFunctionDeclarationES5(target=es2015).types -+++ new.blockScopedSameNameFunctionDeclarationES5(target=es2015).types -@@= skipped -10, +10 lines =@@ - >1 : 1 - - function foo() { } // duplicate function -->foo : () => void -+>foo : { (): void; (): void; } - - foo(); - >foo() : void -->foo : () => void -+>foo : { (): void; (): void; } - - foo(10); // not ok - >foo(10) : void -->foo : () => void -+>foo : { (): void; (): void; } - >10 : 10 - } - else { - function foo() { } // duplicate function -->foo : () => void -+>foo : { (): void; (): void; } - - foo(); - >foo() : void -->foo : () => void -+>foo : { (): void; (): void; } - - foo(10); // not ok - >foo(10) : void -->foo : () => void -+>foo : { (): void; (): void; } - >10 : 10 - } - foo(10); // not ok - >foo(10) : void -->foo : (a: number) => void -+>foo : { (): void; (): void; } - >10 : 10 - - foo(); - >foo() : void -->foo : (a: number) => void -+>foo : { (): void; (): void; } - } - foo(10); - >foo(10) : void \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES6.errors.txt b/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES6.errors.txt index 19f6f09e639..8f634b2d0b3 100644 --- a/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES6.errors.txt +++ b/testdata/baselines/reference/submodule/compiler/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/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES6.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES6.errors.txt.diff deleted file mode 100644 index 55a0abbf0cb..00000000000 --- a/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES6.errors.txt.diff +++ /dev/null @@ -1,43 +0,0 @@ ---- old.blockScopedSameNameFunctionDeclarationES6.errors.txt -+++ new.blockScopedSameNameFunctionDeclarationES6.errors.txt -@@= skipped -0, +0 lines =@@ -+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(13,5): error TS2554: Expected 1 arguments, but got 0. -+blockScopedSameNameFunctionDeclarationES6.ts(12,9): error TS2554: Expected 0 arguments, but got 1. - blockScopedSameNameFunctionDeclarationES6.ts(16,1): error TS2554: Expected 1 arguments, but got 0. - - --==== blockScopedSameNameFunctionDeclarationES6.ts (4 errors) ==== -+==== blockScopedSameNameFunctionDeclarationES6.ts (6 errors) ==== - function foo(a: number) { - if (a === 10) { - function foo() { } // duplicate -+ ~~~ -+!!! error TS2393: Duplicate function implementation. - foo(); - foo(10); // not ok - ~~ -@@= skipped -14, +18 lines =@@ - } - 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 \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES6.symbols b/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES6.symbols index 125116a09b4..29d15d21f43 100644 --- a/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES6.symbols +++ b/testdata/baselines/reference/submodule/compiler/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/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES6.symbols.diff b/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES6.symbols.diff deleted file mode 100644 index b9aa6e22076..00000000000 --- a/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES6.symbols.diff +++ /dev/null @@ -1,40 +0,0 @@ ---- old.blockScopedSameNameFunctionDeclarationES6.symbols -+++ new.blockScopedSameNameFunctionDeclarationES6.symbols -@@= skipped -8, +8 lines =@@ - >a : Symbol(a, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 0, 13)) - - function foo() { } // duplicate -->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 1, 19)) -+>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 1, 19), Decl(blockScopedSameNameFunctionDeclarationES6.ts, 6, 10)) - - foo(); -->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 1, 19)) -+>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 1, 19), Decl(blockScopedSameNameFunctionDeclarationES6.ts, 6, 10)) - - foo(10); // not ok -->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 1, 19)) -+>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 1, 19), Decl(blockScopedSameNameFunctionDeclarationES6.ts, 6, 10)) - } - else { - function foo() { } // duplicate -->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 6, 10)) -+>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 1, 19), Decl(blockScopedSameNameFunctionDeclarationES6.ts, 6, 10)) - - foo(); -->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 6, 10)) -+>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 1, 19), Decl(blockScopedSameNameFunctionDeclarationES6.ts, 6, 10)) - - foo(10);// not ok -->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 6, 10)) -+>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 1, 19), Decl(blockScopedSameNameFunctionDeclarationES6.ts, 6, 10)) - } - foo(10); // not ok -->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 0, 0)) -+>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 1, 19), Decl(blockScopedSameNameFunctionDeclarationES6.ts, 6, 10)) - - foo(); -->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 0, 0)) -+>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 1, 19), Decl(blockScopedSameNameFunctionDeclarationES6.ts, 6, 10)) - } - foo(10); - >foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 0, 0)) \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES6.types b/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES6.types index 9b3359e83ee..57727ad9daf 100644 --- a/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES6.types +++ b/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES6.types @@ -11,38 +11,38 @@ function foo(a: number) { >10 : 10 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/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES6.types.diff b/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES6.types.diff deleted file mode 100644 index 433378dff75..00000000000 --- a/testdata/baselines/reference/submodule/compiler/blockScopedSameNameFunctionDeclarationES6.types.diff +++ /dev/null @@ -1,49 +0,0 @@ ---- old.blockScopedSameNameFunctionDeclarationES6.types -+++ new.blockScopedSameNameFunctionDeclarationES6.types -@@= skipped -10, +10 lines =@@ - >10 : 10 - - function foo() { } // duplicate -->foo : () => void -+>foo : { (): void; (): void; } - - foo(); - >foo() : void -->foo : () => void -+>foo : { (): void; (): void; } - - foo(10); // not ok - >foo(10) : void -->foo : () => void -+>foo : { (): void; (): void; } - >10 : 10 - } - else { - function foo() { } // duplicate -->foo : () => void -+>foo : { (): void; (): void; } - - foo(); - >foo() : void -->foo : () => void -+>foo : { (): void; (): void; } - - foo(10);// not ok - >foo(10) : void -->foo : () => void -+>foo : { (): void; (): void; } - >10 : 10 - } - foo(10); // not ok - >foo(10) : void -->foo : (a: number) => void -+>foo : { (): void; (): void; } - >10 : 10 - - foo(); - >foo() : void -->foo : (a: number) => void -+>foo : { (): void; (): void; } - } - foo(10); - >foo(10) : void \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).js deleted file mode 100644 index 3e7ae866ed0..00000000000 --- a/testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).js +++ /dev/null @@ -1,36 +0,0 @@ -//// [tests/cases/compiler/collisionArgumentsArrowFunctions.ts] //// - -//// [collisionArgumentsArrowFunctions.ts] -var f1 = (i: number, ...arguments) => { //arguments is error - var arguments: any[]; // no error -} -var f12 = (arguments: number, ...rest) => { //arguments is error - var arguments = 10; // no error -} -var f1NoError = (arguments: number) => { // no error - var arguments = 10; // no error -} - -var f2 = (...restParameters) => { - var arguments = 10; // No Error -} -var f2NoError = () => { - var arguments = 10; // no error -} - -//// [collisionArgumentsArrowFunctions.js] -var f1 = (i, ...arguments) => { - var arguments; // no error -}; -var f12 = (arguments, ...rest) => { - var arguments = 10; // no error -}; -var f1NoError = (arguments) => { - var arguments = 10; // no error -}; -var f2 = (...restParameters) => { - var arguments = 10; // No Error -}; -var f2NoError = () => { - var arguments = 10; // no error -}; diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).symbols b/testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).symbols deleted file mode 100644 index 9c3e817607a..00000000000 --- a/testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).symbols +++ /dev/null @@ -1,40 +0,0 @@ -//// [tests/cases/compiler/collisionArgumentsArrowFunctions.ts] //// - -=== collisionArgumentsArrowFunctions.ts === -var f1 = (i: number, ...arguments) => { //arguments is error ->f1 : Symbol(f1, Decl(collisionArgumentsArrowFunctions.ts, 0, 3)) ->i : Symbol(i, Decl(collisionArgumentsArrowFunctions.ts, 0, 10)) ->arguments : Symbol(arguments, Decl(collisionArgumentsArrowFunctions.ts, 0, 20), Decl(collisionArgumentsArrowFunctions.ts, 1, 7)) - - var arguments: any[]; // no error ->arguments : Symbol(arguments, Decl(collisionArgumentsArrowFunctions.ts, 0, 20), Decl(collisionArgumentsArrowFunctions.ts, 1, 7)) -} -var f12 = (arguments: number, ...rest) => { //arguments is error ->f12 : Symbol(f12, Decl(collisionArgumentsArrowFunctions.ts, 3, 3)) ->arguments : Symbol(arguments, Decl(collisionArgumentsArrowFunctions.ts, 3, 11), Decl(collisionArgumentsArrowFunctions.ts, 4, 7)) ->rest : Symbol(rest, Decl(collisionArgumentsArrowFunctions.ts, 3, 29)) - - var arguments = 10; // no error ->arguments : Symbol(arguments, Decl(collisionArgumentsArrowFunctions.ts, 3, 11), Decl(collisionArgumentsArrowFunctions.ts, 4, 7)) -} -var f1NoError = (arguments: number) => { // no error ->f1NoError : Symbol(f1NoError, Decl(collisionArgumentsArrowFunctions.ts, 6, 3)) ->arguments : Symbol(arguments, Decl(collisionArgumentsArrowFunctions.ts, 6, 17), Decl(collisionArgumentsArrowFunctions.ts, 7, 7)) - - var arguments = 10; // no error ->arguments : Symbol(arguments, Decl(collisionArgumentsArrowFunctions.ts, 6, 17), Decl(collisionArgumentsArrowFunctions.ts, 7, 7)) -} - -var f2 = (...restParameters) => { ->f2 : Symbol(f2, Decl(collisionArgumentsArrowFunctions.ts, 10, 3)) ->restParameters : Symbol(restParameters, Decl(collisionArgumentsArrowFunctions.ts, 10, 10)) - - var arguments = 10; // No Error ->arguments : Symbol(arguments, Decl(collisionArgumentsArrowFunctions.ts, 11, 7)) -} -var f2NoError = () => { ->f2NoError : Symbol(f2NoError, Decl(collisionArgumentsArrowFunctions.ts, 13, 3)) - - var arguments = 10; // no error ->arguments : Symbol(arguments, Decl(collisionArgumentsArrowFunctions.ts, 14, 7)) -} diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).types b/testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).types deleted file mode 100644 index 50c78a09c0a..00000000000 --- a/testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).types +++ /dev/null @@ -1,49 +0,0 @@ -//// [tests/cases/compiler/collisionArgumentsArrowFunctions.ts] //// - -=== collisionArgumentsArrowFunctions.ts === -var f1 = (i: number, ...arguments) => { //arguments is error ->f1 : (i: number, ...arguments: any[]) => void ->(i: number, ...arguments) => { //arguments is error var arguments: any[]; // no error} : (i: number, ...arguments: any[]) => void ->i : number ->arguments : any[] - - var arguments: any[]; // no error ->arguments : any[] -} -var f12 = (arguments: number, ...rest) => { //arguments is error ->f12 : (arguments: number, ...rest: any[]) => void ->(arguments: number, ...rest) => { //arguments is error var arguments = 10; // no error} : (arguments: number, ...rest: any[]) => void ->arguments : number ->rest : any[] - - var arguments = 10; // no error ->arguments : number ->10 : 10 -} -var f1NoError = (arguments: number) => { // no error ->f1NoError : (arguments: number) => void ->(arguments: number) => { // no error var arguments = 10; // no error} : (arguments: number) => void ->arguments : number - - var arguments = 10; // no error ->arguments : number ->10 : 10 -} - -var f2 = (...restParameters) => { ->f2 : (...restParameters: any[]) => void ->(...restParameters) => { var arguments = 10; // No Error} : (...restParameters: any[]) => void ->restParameters : any[] - - var arguments = 10; // No Error ->arguments : number ->10 : 10 -} -var f2NoError = () => { ->f2NoError : () => void ->() => { var arguments = 10; // no error} : () => void - - var arguments = 10; // no error ->arguments : number ->10 : 10 -} diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).js deleted file mode 100644 index b25325c5541..00000000000 --- a/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).js +++ /dev/null @@ -1,74 +0,0 @@ -//// [tests/cases/compiler/collisionArgumentsFunction.ts] //// - -//// [collisionArgumentsFunction.ts] -// Functions -function f1(arguments: number, ...restParameters) { //arguments is error - var arguments = 10; // no error -} -function f12(i: number, ...arguments) { //arguments is error - var arguments: any[]; // no error -} -function f1NoError(arguments: number) { // no error - var arguments = 10; // no error -} - -declare function f2(i: number, ...arguments); // no error - no code gen -declare function f21(arguments: number, ...rest); // no error - no code gen -declare function f2NoError(arguments: number); // no error - -function f3(...restParameters) { - var arguments = 10; // no error -} -function f3NoError() { - var arguments = 10; // no error -} - -function f4(arguments: number, ...rest); // no codegen no error -function f4(arguments: string, ...rest); // no codegen no error -function f4(arguments: any, ...rest) { // error - var arguments: any; // No error -} -function f42(i: number, ...arguments); // no codegen no error -function f42(i: string, ...arguments); // no codegen no error -function f42(i: any, ...arguments) { // error - var arguments: any[]; // No error -} -function f4NoError(arguments: number); // no error -function f4NoError(arguments: string); // no error -function f4NoError(arguments: any) { // no error - var arguments: any; // No error -} - -declare function f5(arguments: number, ...rest); // no codegen no error -declare function f5(arguments: string, ...rest); // no codegen no error -declare function f52(i: number, ...arguments); // no codegen no error -declare function f52(i: string, ...arguments); // no codegen no error -declare function f6(arguments: number); // no codegen no error -declare function f6(arguments: string); // no codegen no error - -//// [collisionArgumentsFunction.js] -// Functions -function f1(arguments, ...restParameters) { - var arguments = 10; // no error -} -function f12(i, ...arguments) { - var arguments; // no error -} -function f1NoError(arguments) { - var arguments = 10; // no error -} -function f3(...restParameters) { - var arguments = 10; // no error -} -function f3NoError() { - var arguments = 10; // no error -} -function f4(arguments, ...rest) { - var arguments; // No error -} -function f42(i, ...arguments) { - var arguments; // No error -} -function f4NoError(arguments) { - var arguments; // No error -} diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).symbols b/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).symbols deleted file mode 100644 index 833fd4b0ded..00000000000 --- a/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).symbols +++ /dev/null @@ -1,136 +0,0 @@ -//// [tests/cases/compiler/collisionArgumentsFunction.ts] //// - -=== collisionArgumentsFunction.ts === -// Functions -function f1(arguments: number, ...restParameters) { //arguments is error ->f1 : Symbol(f1, Decl(collisionArgumentsFunction.ts, 0, 0)) ->arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 1, 12), Decl(collisionArgumentsFunction.ts, 2, 7)) ->restParameters : Symbol(restParameters, Decl(collisionArgumentsFunction.ts, 1, 30)) - - var arguments = 10; // no error ->arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 1, 12), Decl(collisionArgumentsFunction.ts, 2, 7)) -} -function f12(i: number, ...arguments) { //arguments is error ->f12 : Symbol(f12, Decl(collisionArgumentsFunction.ts, 3, 1)) ->i : Symbol(i, Decl(collisionArgumentsFunction.ts, 4, 13)) ->arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 4, 23), Decl(collisionArgumentsFunction.ts, 5, 7)) - - var arguments: any[]; // no error ->arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 4, 23), Decl(collisionArgumentsFunction.ts, 5, 7)) -} -function f1NoError(arguments: number) { // no error ->f1NoError : Symbol(f1NoError, Decl(collisionArgumentsFunction.ts, 6, 1)) ->arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 7, 19), Decl(collisionArgumentsFunction.ts, 8, 7)) - - var arguments = 10; // no error ->arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 7, 19), Decl(collisionArgumentsFunction.ts, 8, 7)) -} - -declare function f2(i: number, ...arguments); // no error - no code gen ->f2 : Symbol(f2, Decl(collisionArgumentsFunction.ts, 9, 1)) ->i : Symbol(i, Decl(collisionArgumentsFunction.ts, 11, 20)) ->arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 11, 30)) - -declare function f21(arguments: number, ...rest); // no error - no code gen ->f21 : Symbol(f21, Decl(collisionArgumentsFunction.ts, 11, 45)) ->arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 12, 21)) ->rest : Symbol(rest, Decl(collisionArgumentsFunction.ts, 12, 39)) - -declare function f2NoError(arguments: number); // no error ->f2NoError : Symbol(f2NoError, Decl(collisionArgumentsFunction.ts, 12, 49)) ->arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 13, 27)) - -function f3(...restParameters) { ->f3 : Symbol(f3, Decl(collisionArgumentsFunction.ts, 13, 46)) ->restParameters : Symbol(restParameters, Decl(collisionArgumentsFunction.ts, 15, 12)) - - var arguments = 10; // no error ->arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 16, 7)) -} -function f3NoError() { ->f3NoError : Symbol(f3NoError, Decl(collisionArgumentsFunction.ts, 17, 1)) - - var arguments = 10; // no error ->arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 19, 7)) -} - -function f4(arguments: number, ...rest); // no codegen no error ->f4 : Symbol(f4, Decl(collisionArgumentsFunction.ts, 20, 1), Decl(collisionArgumentsFunction.ts, 22, 40), Decl(collisionArgumentsFunction.ts, 23, 40)) ->arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 22, 12)) ->rest : Symbol(rest, Decl(collisionArgumentsFunction.ts, 22, 30)) - -function f4(arguments: string, ...rest); // no codegen no error ->f4 : Symbol(f4, Decl(collisionArgumentsFunction.ts, 20, 1), Decl(collisionArgumentsFunction.ts, 22, 40), Decl(collisionArgumentsFunction.ts, 23, 40)) ->arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 23, 12)) ->rest : Symbol(rest, Decl(collisionArgumentsFunction.ts, 23, 30)) - -function f4(arguments: any, ...rest) { // error ->f4 : Symbol(f4, Decl(collisionArgumentsFunction.ts, 20, 1), Decl(collisionArgumentsFunction.ts, 22, 40), Decl(collisionArgumentsFunction.ts, 23, 40)) ->arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 24, 12), Decl(collisionArgumentsFunction.ts, 25, 7)) ->rest : Symbol(rest, Decl(collisionArgumentsFunction.ts, 24, 27)) - - var arguments: any; // No error ->arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 24, 12), Decl(collisionArgumentsFunction.ts, 25, 7)) -} -function f42(i: number, ...arguments); // no codegen no error ->f42 : Symbol(f42, Decl(collisionArgumentsFunction.ts, 26, 1), Decl(collisionArgumentsFunction.ts, 27, 38), Decl(collisionArgumentsFunction.ts, 28, 38)) ->i : Symbol(i, Decl(collisionArgumentsFunction.ts, 27, 13)) ->arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 27, 23)) - -function f42(i: string, ...arguments); // no codegen no error ->f42 : Symbol(f42, Decl(collisionArgumentsFunction.ts, 26, 1), Decl(collisionArgumentsFunction.ts, 27, 38), Decl(collisionArgumentsFunction.ts, 28, 38)) ->i : Symbol(i, Decl(collisionArgumentsFunction.ts, 28, 13)) ->arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 28, 23)) - -function f42(i: any, ...arguments) { // error ->f42 : Symbol(f42, Decl(collisionArgumentsFunction.ts, 26, 1), Decl(collisionArgumentsFunction.ts, 27, 38), Decl(collisionArgumentsFunction.ts, 28, 38)) ->i : Symbol(i, Decl(collisionArgumentsFunction.ts, 29, 13)) ->arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 29, 20), Decl(collisionArgumentsFunction.ts, 30, 7)) - - var arguments: any[]; // No error ->arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 29, 20), Decl(collisionArgumentsFunction.ts, 30, 7)) -} -function f4NoError(arguments: number); // no error ->f4NoError : Symbol(f4NoError, Decl(collisionArgumentsFunction.ts, 31, 1), Decl(collisionArgumentsFunction.ts, 32, 38), Decl(collisionArgumentsFunction.ts, 33, 38)) ->arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 32, 19)) - -function f4NoError(arguments: string); // no error ->f4NoError : Symbol(f4NoError, Decl(collisionArgumentsFunction.ts, 31, 1), Decl(collisionArgumentsFunction.ts, 32, 38), Decl(collisionArgumentsFunction.ts, 33, 38)) ->arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 33, 19)) - -function f4NoError(arguments: any) { // no error ->f4NoError : Symbol(f4NoError, Decl(collisionArgumentsFunction.ts, 31, 1), Decl(collisionArgumentsFunction.ts, 32, 38), Decl(collisionArgumentsFunction.ts, 33, 38)) ->arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 34, 19), Decl(collisionArgumentsFunction.ts, 35, 7)) - - var arguments: any; // No error ->arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 34, 19), Decl(collisionArgumentsFunction.ts, 35, 7)) -} - -declare function f5(arguments: number, ...rest); // no codegen no error ->f5 : Symbol(f5, Decl(collisionArgumentsFunction.ts, 36, 1), Decl(collisionArgumentsFunction.ts, 38, 48)) ->arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 38, 20)) ->rest : Symbol(rest, Decl(collisionArgumentsFunction.ts, 38, 38)) - -declare function f5(arguments: string, ...rest); // no codegen no error ->f5 : Symbol(f5, Decl(collisionArgumentsFunction.ts, 36, 1), Decl(collisionArgumentsFunction.ts, 38, 48)) ->arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 39, 20)) ->rest : Symbol(rest, Decl(collisionArgumentsFunction.ts, 39, 38)) - -declare function f52(i: number, ...arguments); // no codegen no error ->f52 : Symbol(f52, Decl(collisionArgumentsFunction.ts, 39, 48), Decl(collisionArgumentsFunction.ts, 40, 46)) ->i : Symbol(i, Decl(collisionArgumentsFunction.ts, 40, 21)) ->arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 40, 31)) - -declare function f52(i: string, ...arguments); // no codegen no error ->f52 : Symbol(f52, Decl(collisionArgumentsFunction.ts, 39, 48), Decl(collisionArgumentsFunction.ts, 40, 46)) ->i : Symbol(i, Decl(collisionArgumentsFunction.ts, 41, 21)) ->arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 41, 31)) - -declare function f6(arguments: number); // no codegen no error ->f6 : Symbol(f6, Decl(collisionArgumentsFunction.ts, 41, 46), Decl(collisionArgumentsFunction.ts, 42, 39)) ->arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 42, 20)) - -declare function f6(arguments: string); // no codegen no error ->f6 : Symbol(f6, Decl(collisionArgumentsFunction.ts, 41, 46), Decl(collisionArgumentsFunction.ts, 42, 39)) ->arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 43, 20)) - diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).types b/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).types deleted file mode 100644 index 70684e55e04..00000000000 --- a/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).types +++ /dev/null @@ -1,140 +0,0 @@ -//// [tests/cases/compiler/collisionArgumentsFunction.ts] //// - -=== collisionArgumentsFunction.ts === -// Functions -function f1(arguments: number, ...restParameters) { //arguments is error ->f1 : (arguments: number, ...restParameters: any[]) => void ->arguments : number ->restParameters : any[] - - var arguments = 10; // no error ->arguments : number ->10 : 10 -} -function f12(i: number, ...arguments) { //arguments is error ->f12 : (i: number, ...arguments: any[]) => void ->i : number ->arguments : any[] - - var arguments: any[]; // no error ->arguments : any[] -} -function f1NoError(arguments: number) { // no error ->f1NoError : (arguments: number) => void ->arguments : number - - var arguments = 10; // no error ->arguments : number ->10 : 10 -} - -declare function f2(i: number, ...arguments); // no error - no code gen ->f2 : (i: number, ...arguments: any[]) => any ->i : number ->arguments : any[] - -declare function f21(arguments: number, ...rest); // no error - no code gen ->f21 : (arguments: number, ...rest: any[]) => any ->arguments : number ->rest : any[] - -declare function f2NoError(arguments: number); // no error ->f2NoError : (arguments: number) => any ->arguments : number - -function f3(...restParameters) { ->f3 : (...restParameters: any[]) => void ->restParameters : any[] - - var arguments = 10; // no error ->arguments : number ->10 : 10 -} -function f3NoError() { ->f3NoError : () => void - - var arguments = 10; // no error ->arguments : number ->10 : 10 -} - -function f4(arguments: number, ...rest); // no codegen no error ->f4 : { (arguments: number, ...rest: any[]): any; (arguments: string, ...rest: any[]): any; } ->arguments : number ->rest : any[] - -function f4(arguments: string, ...rest); // no codegen no error ->f4 : { (arguments: number, ...rest: any[]): any; (arguments: string, ...rest: any[]): any; } ->arguments : string ->rest : any[] - -function f4(arguments: any, ...rest) { // error ->f4 : { (arguments: number, ...rest: any[]): any; (arguments: string, ...rest: any[]): any; } ->arguments : any ->rest : any[] - - var arguments: any; // No error ->arguments : any -} -function f42(i: number, ...arguments); // no codegen no error ->f42 : { (i: number, ...arguments: any[]): any; (i: string, ...arguments: any[]): any; } ->i : number ->arguments : any[] - -function f42(i: string, ...arguments); // no codegen no error ->f42 : { (i: number, ...arguments: any[]): any; (i: string, ...arguments: any[]): any; } ->i : string ->arguments : any[] - -function f42(i: any, ...arguments) { // error ->f42 : { (i: number, ...arguments: any[]): any; (i: string, ...arguments: any[]): any; } ->i : any ->arguments : any[] - - var arguments: any[]; // No error ->arguments : any[] -} -function f4NoError(arguments: number); // no error ->f4NoError : { (arguments: number): any; (arguments: string): any; } ->arguments : number - -function f4NoError(arguments: string); // no error ->f4NoError : { (arguments: number): any; (arguments: string): any; } ->arguments : string - -function f4NoError(arguments: any) { // no error ->f4NoError : { (arguments: number): any; (arguments: string): any; } ->arguments : any - - var arguments: any; // No error ->arguments : any -} - -declare function f5(arguments: number, ...rest); // no codegen no error ->f5 : { (arguments: number, ...rest: any[]): any; (arguments: string, ...rest: any[]): any; } ->arguments : number ->rest : any[] - -declare function f5(arguments: string, ...rest); // no codegen no error ->f5 : { (arguments: number, ...rest: any[]): any; (arguments: string, ...rest: any[]): any; } ->arguments : string ->rest : any[] - -declare function f52(i: number, ...arguments); // no codegen no error ->f52 : { (i: number, ...arguments: any[]): any; (i: string, ...arguments: any[]): any; } ->i : number ->arguments : any[] - -declare function f52(i: string, ...arguments); // no codegen no error ->f52 : { (i: number, ...arguments: any[]): any; (i: string, ...arguments: any[]): any; } ->i : string ->arguments : any[] - -declare function f6(arguments: number); // no codegen no error ->f6 : { (arguments: number): any; (arguments: string): any; } ->arguments : number - -declare function f6(arguments: string); // no codegen no error ->f6 : { (arguments: number): any; (arguments: string): any; } ->arguments : string - diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).js deleted file mode 100644 index eb8d260654f..00000000000 --- a/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).js +++ /dev/null @@ -1,65 +0,0 @@ -//// [tests/cases/compiler/collisionArgumentsFunctionExpressions.ts] //// - -//// [collisionArgumentsFunctionExpressions.ts] -function foo() { - function f1(arguments: number, ...restParameters) { //arguments is error - var arguments = 10; // no error - } - function f12(i: number, ...arguments) { //arguments is error - var arguments: any[]; // no error - } - function f1NoError(arguments: number) { // no error - var arguments = 10; // no error - } - - function f3(...restParameters) { - var arguments = 10; // no error - } - function f3NoError() { - var arguments = 10; // no error - } - - function f4(arguments: number, ...rest); // no codegen no error - function f4(arguments: string, ...rest); // no codegen no error - function f4(arguments: any, ...rest) { // error - var arguments: any; // No error - } - function f42(i: number, ...arguments); // no codegen no error - function f42(i: string, ...arguments); // no codegen no error - function f42(i: any, ...arguments) { // error - var arguments: any[]; // No error - } - function f4NoError(arguments: number); // no error - function f4NoError(arguments: string); // no error - function f4NoError(arguments: any) { // no error - var arguments: any; // No error - } -} - -//// [collisionArgumentsFunctionExpressions.js] -function foo() { - function f1(arguments, ...restParameters) { - var arguments = 10; // no error - } - function f12(i, ...arguments) { - var arguments; // no error - } - function f1NoError(arguments) { - var arguments = 10; // no error - } - function f3(...restParameters) { - var arguments = 10; // no error - } - function f3NoError() { - var arguments = 10; // no error - } - function f4(arguments, ...rest) { - var arguments; // No error - } - function f42(i, ...arguments) { - var arguments; // No error - } - function f4NoError(arguments) { - var arguments; // No error - } -} diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).symbols b/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).symbols deleted file mode 100644 index 6538436c61e..00000000000 --- a/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).symbols +++ /dev/null @@ -1,96 +0,0 @@ -//// [tests/cases/compiler/collisionArgumentsFunctionExpressions.ts] //// - -=== collisionArgumentsFunctionExpressions.ts === -function foo() { ->foo : Symbol(foo, Decl(collisionArgumentsFunctionExpressions.ts, 0, 0)) - - function f1(arguments: number, ...restParameters) { //arguments is error ->f1 : Symbol(f1, Decl(collisionArgumentsFunctionExpressions.ts, 0, 16)) ->arguments : Symbol(arguments, Decl(collisionArgumentsFunctionExpressions.ts, 1, 16), Decl(collisionArgumentsFunctionExpressions.ts, 2, 11)) ->restParameters : Symbol(restParameters, Decl(collisionArgumentsFunctionExpressions.ts, 1, 34)) - - var arguments = 10; // no error ->arguments : Symbol(arguments, Decl(collisionArgumentsFunctionExpressions.ts, 1, 16), Decl(collisionArgumentsFunctionExpressions.ts, 2, 11)) - } - function f12(i: number, ...arguments) { //arguments is error ->f12 : Symbol(f12, Decl(collisionArgumentsFunctionExpressions.ts, 3, 5)) ->i : Symbol(i, Decl(collisionArgumentsFunctionExpressions.ts, 4, 17)) ->arguments : Symbol(arguments, Decl(collisionArgumentsFunctionExpressions.ts, 4, 27), Decl(collisionArgumentsFunctionExpressions.ts, 5, 11)) - - var arguments: any[]; // no error ->arguments : Symbol(arguments, Decl(collisionArgumentsFunctionExpressions.ts, 4, 27), Decl(collisionArgumentsFunctionExpressions.ts, 5, 11)) - } - function f1NoError(arguments: number) { // no error ->f1NoError : Symbol(f1NoError, Decl(collisionArgumentsFunctionExpressions.ts, 6, 5)) ->arguments : Symbol(arguments, Decl(collisionArgumentsFunctionExpressions.ts, 7, 23), Decl(collisionArgumentsFunctionExpressions.ts, 8, 11)) - - var arguments = 10; // no error ->arguments : Symbol(arguments, Decl(collisionArgumentsFunctionExpressions.ts, 7, 23), Decl(collisionArgumentsFunctionExpressions.ts, 8, 11)) - } - - function f3(...restParameters) { ->f3 : Symbol(f3, Decl(collisionArgumentsFunctionExpressions.ts, 9, 5)) ->restParameters : Symbol(restParameters, Decl(collisionArgumentsFunctionExpressions.ts, 11, 16)) - - var arguments = 10; // no error ->arguments : Symbol(arguments, Decl(collisionArgumentsFunctionExpressions.ts, 12, 11)) - } - function f3NoError() { ->f3NoError : Symbol(f3NoError, Decl(collisionArgumentsFunctionExpressions.ts, 13, 5)) - - var arguments = 10; // no error ->arguments : Symbol(arguments, Decl(collisionArgumentsFunctionExpressions.ts, 15, 11)) - } - - function f4(arguments: number, ...rest); // no codegen no error ->f4 : Symbol(f4, Decl(collisionArgumentsFunctionExpressions.ts, 16, 5), Decl(collisionArgumentsFunctionExpressions.ts, 18, 44), Decl(collisionArgumentsFunctionExpressions.ts, 19, 44)) ->arguments : Symbol(arguments, Decl(collisionArgumentsFunctionExpressions.ts, 18, 16)) ->rest : Symbol(rest, Decl(collisionArgumentsFunctionExpressions.ts, 18, 34)) - - function f4(arguments: string, ...rest); // no codegen no error ->f4 : Symbol(f4, Decl(collisionArgumentsFunctionExpressions.ts, 16, 5), Decl(collisionArgumentsFunctionExpressions.ts, 18, 44), Decl(collisionArgumentsFunctionExpressions.ts, 19, 44)) ->arguments : Symbol(arguments, Decl(collisionArgumentsFunctionExpressions.ts, 19, 16)) ->rest : Symbol(rest, Decl(collisionArgumentsFunctionExpressions.ts, 19, 34)) - - function f4(arguments: any, ...rest) { // error ->f4 : Symbol(f4, Decl(collisionArgumentsFunctionExpressions.ts, 16, 5), Decl(collisionArgumentsFunctionExpressions.ts, 18, 44), Decl(collisionArgumentsFunctionExpressions.ts, 19, 44)) ->arguments : Symbol(arguments, Decl(collisionArgumentsFunctionExpressions.ts, 20, 16), Decl(collisionArgumentsFunctionExpressions.ts, 21, 11)) ->rest : Symbol(rest, Decl(collisionArgumentsFunctionExpressions.ts, 20, 31)) - - var arguments: any; // No error ->arguments : Symbol(arguments, Decl(collisionArgumentsFunctionExpressions.ts, 20, 16), Decl(collisionArgumentsFunctionExpressions.ts, 21, 11)) - } - function f42(i: number, ...arguments); // no codegen no error ->f42 : Symbol(f42, Decl(collisionArgumentsFunctionExpressions.ts, 22, 5), Decl(collisionArgumentsFunctionExpressions.ts, 23, 42), Decl(collisionArgumentsFunctionExpressions.ts, 24, 42)) ->i : Symbol(i, Decl(collisionArgumentsFunctionExpressions.ts, 23, 17)) ->arguments : Symbol(arguments, Decl(collisionArgumentsFunctionExpressions.ts, 23, 27)) - - function f42(i: string, ...arguments); // no codegen no error ->f42 : Symbol(f42, Decl(collisionArgumentsFunctionExpressions.ts, 22, 5), Decl(collisionArgumentsFunctionExpressions.ts, 23, 42), Decl(collisionArgumentsFunctionExpressions.ts, 24, 42)) ->i : Symbol(i, Decl(collisionArgumentsFunctionExpressions.ts, 24, 17)) ->arguments : Symbol(arguments, Decl(collisionArgumentsFunctionExpressions.ts, 24, 27)) - - function f42(i: any, ...arguments) { // error ->f42 : Symbol(f42, Decl(collisionArgumentsFunctionExpressions.ts, 22, 5), Decl(collisionArgumentsFunctionExpressions.ts, 23, 42), Decl(collisionArgumentsFunctionExpressions.ts, 24, 42)) ->i : Symbol(i, Decl(collisionArgumentsFunctionExpressions.ts, 25, 17)) ->arguments : Symbol(arguments, Decl(collisionArgumentsFunctionExpressions.ts, 25, 24), Decl(collisionArgumentsFunctionExpressions.ts, 26, 11)) - - var arguments: any[]; // No error ->arguments : Symbol(arguments, Decl(collisionArgumentsFunctionExpressions.ts, 25, 24), Decl(collisionArgumentsFunctionExpressions.ts, 26, 11)) - } - function f4NoError(arguments: number); // no error ->f4NoError : Symbol(f4NoError, Decl(collisionArgumentsFunctionExpressions.ts, 27, 5), Decl(collisionArgumentsFunctionExpressions.ts, 28, 42), Decl(collisionArgumentsFunctionExpressions.ts, 29, 42)) ->arguments : Symbol(arguments, Decl(collisionArgumentsFunctionExpressions.ts, 28, 23)) - - function f4NoError(arguments: string); // no error ->f4NoError : Symbol(f4NoError, Decl(collisionArgumentsFunctionExpressions.ts, 27, 5), Decl(collisionArgumentsFunctionExpressions.ts, 28, 42), Decl(collisionArgumentsFunctionExpressions.ts, 29, 42)) ->arguments : Symbol(arguments, Decl(collisionArgumentsFunctionExpressions.ts, 29, 23)) - - function f4NoError(arguments: any) { // no error ->f4NoError : Symbol(f4NoError, Decl(collisionArgumentsFunctionExpressions.ts, 27, 5), Decl(collisionArgumentsFunctionExpressions.ts, 28, 42), Decl(collisionArgumentsFunctionExpressions.ts, 29, 42)) ->arguments : Symbol(arguments, Decl(collisionArgumentsFunctionExpressions.ts, 30, 23), Decl(collisionArgumentsFunctionExpressions.ts, 31, 11)) - - var arguments: any; // No error ->arguments : Symbol(arguments, Decl(collisionArgumentsFunctionExpressions.ts, 30, 23), Decl(collisionArgumentsFunctionExpressions.ts, 31, 11)) - } -} diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).types b/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).types deleted file mode 100644 index 50ebb0a925b..00000000000 --- a/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).types +++ /dev/null @@ -1,100 +0,0 @@ -//// [tests/cases/compiler/collisionArgumentsFunctionExpressions.ts] //// - -=== collisionArgumentsFunctionExpressions.ts === -function foo() { ->foo : () => void - - function f1(arguments: number, ...restParameters) { //arguments is error ->f1 : (arguments: number, ...restParameters: any[]) => void ->arguments : number ->restParameters : any[] - - var arguments = 10; // no error ->arguments : number ->10 : 10 - } - function f12(i: number, ...arguments) { //arguments is error ->f12 : (i: number, ...arguments: any[]) => void ->i : number ->arguments : any[] - - var arguments: any[]; // no error ->arguments : any[] - } - function f1NoError(arguments: number) { // no error ->f1NoError : (arguments: number) => void ->arguments : number - - var arguments = 10; // no error ->arguments : number ->10 : 10 - } - - function f3(...restParameters) { ->f3 : (...restParameters: any[]) => void ->restParameters : any[] - - var arguments = 10; // no error ->arguments : number ->10 : 10 - } - function f3NoError() { ->f3NoError : () => void - - var arguments = 10; // no error ->arguments : number ->10 : 10 - } - - function f4(arguments: number, ...rest); // no codegen no error ->f4 : { (arguments: number, ...rest: any[]): any; (arguments: string, ...rest: any[]): any; } ->arguments : number ->rest : any[] - - function f4(arguments: string, ...rest); // no codegen no error ->f4 : { (arguments: number, ...rest: any[]): any; (arguments: string, ...rest: any[]): any; } ->arguments : string ->rest : any[] - - function f4(arguments: any, ...rest) { // error ->f4 : { (arguments: number, ...rest: any[]): any; (arguments: string, ...rest: any[]): any; } ->arguments : any ->rest : any[] - - var arguments: any; // No error ->arguments : any - } - function f42(i: number, ...arguments); // no codegen no error ->f42 : { (i: number, ...arguments: any[]): any; (i: string, ...arguments: any[]): any; } ->i : number ->arguments : any[] - - function f42(i: string, ...arguments); // no codegen no error ->f42 : { (i: number, ...arguments: any[]): any; (i: string, ...arguments: any[]): any; } ->i : string ->arguments : any[] - - function f42(i: any, ...arguments) { // error ->f42 : { (i: number, ...arguments: any[]): any; (i: string, ...arguments: any[]): any; } ->i : any ->arguments : any[] - - var arguments: any[]; // No error ->arguments : any[] - } - function f4NoError(arguments: number); // no error ->f4NoError : { (arguments: number): any; (arguments: string): any; } ->arguments : number - - function f4NoError(arguments: string); // no error ->f4NoError : { (arguments: number): any; (arguments: string): any; } ->arguments : string - - function f4NoError(arguments: any) { // no error ->f4NoError : { (arguments: number): any; (arguments: string): any; } ->arguments : any - - var arguments: any; // No error ->arguments : any - } -} diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).js b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).js deleted file mode 100644 index 751e4d3a93a..00000000000 --- a/testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).js +++ /dev/null @@ -1,23 +0,0 @@ -//// [tests/cases/compiler/collisionArgumentsInType.ts] //// - -//// [collisionArgumentsInType.ts] -var v1: (i: number, ...arguments) => void; // no error - no code gen -var v12: (arguments: number, ...restParameters) => void; // no error - no code gen -var v2: { - (arguments: number, ...restParameters); // no error - no code gen - new (arguments: number, ...restParameters); // no error - no code gen - foo(arguments: number, ...restParameters); // no error - no code gen - prop: (arguments: number, ...restParameters) => void; // no error - no code gen -} -var v21: { - (i: number, ...arguments); // no error - no code gen - new (i: number, ...arguments); // no error - no code gen - foo(i: number, ...arguments); // no error - no code gen - prop: (i: number, ...arguments) => void; // no error - no code gen -} - -//// [collisionArgumentsInType.js] -var v1; // no error - no code gen -var v12; // no error - no code gen -var v2; -var v21; diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).symbols deleted file mode 100644 index 1b614f0902a..00000000000 --- a/testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).symbols +++ /dev/null @@ -1,55 +0,0 @@ -//// [tests/cases/compiler/collisionArgumentsInType.ts] //// - -=== collisionArgumentsInType.ts === -var v1: (i: number, ...arguments) => void; // no error - no code gen ->v1 : Symbol(v1, Decl(collisionArgumentsInType.ts, 0, 3)) ->i : Symbol(i, Decl(collisionArgumentsInType.ts, 0, 9)) ->arguments : Symbol(arguments, Decl(collisionArgumentsInType.ts, 0, 19)) - -var v12: (arguments: number, ...restParameters) => void; // no error - no code gen ->v12 : Symbol(v12, Decl(collisionArgumentsInType.ts, 1, 3)) ->arguments : Symbol(arguments, Decl(collisionArgumentsInType.ts, 1, 10)) ->restParameters : Symbol(restParameters, Decl(collisionArgumentsInType.ts, 1, 28)) - -var v2: { ->v2 : Symbol(v2, Decl(collisionArgumentsInType.ts, 2, 3)) - - (arguments: number, ...restParameters); // no error - no code gen ->arguments : Symbol(arguments, Decl(collisionArgumentsInType.ts, 3, 5)) ->restParameters : Symbol(restParameters, Decl(collisionArgumentsInType.ts, 3, 23)) - - new (arguments: number, ...restParameters); // no error - no code gen ->arguments : Symbol(arguments, Decl(collisionArgumentsInType.ts, 4, 9)) ->restParameters : Symbol(restParameters, Decl(collisionArgumentsInType.ts, 4, 27)) - - foo(arguments: number, ...restParameters); // no error - no code gen ->foo : Symbol(foo, Decl(collisionArgumentsInType.ts, 4, 47)) ->arguments : Symbol(arguments, Decl(collisionArgumentsInType.ts, 5, 8)) ->restParameters : Symbol(restParameters, Decl(collisionArgumentsInType.ts, 5, 26)) - - prop: (arguments: number, ...restParameters) => void; // no error - no code gen ->prop : Symbol(prop, Decl(collisionArgumentsInType.ts, 5, 46)) ->arguments : Symbol(arguments, Decl(collisionArgumentsInType.ts, 6, 11)) ->restParameters : Symbol(restParameters, Decl(collisionArgumentsInType.ts, 6, 29)) -} -var v21: { ->v21 : Symbol(v21, Decl(collisionArgumentsInType.ts, 8, 3)) - - (i: number, ...arguments); // no error - no code gen ->i : Symbol(i, Decl(collisionArgumentsInType.ts, 9, 5)) ->arguments : Symbol(arguments, Decl(collisionArgumentsInType.ts, 9, 15)) - - new (i: number, ...arguments); // no error - no code gen ->i : Symbol(i, Decl(collisionArgumentsInType.ts, 10, 9)) ->arguments : Symbol(arguments, Decl(collisionArgumentsInType.ts, 10, 19)) - - foo(i: number, ...arguments); // no error - no code gen ->foo : Symbol(foo, Decl(collisionArgumentsInType.ts, 10, 34)) ->i : Symbol(i, Decl(collisionArgumentsInType.ts, 11, 8)) ->arguments : Symbol(arguments, Decl(collisionArgumentsInType.ts, 11, 18)) - - prop: (i: number, ...arguments) => void; // no error - no code gen ->prop : Symbol(prop, Decl(collisionArgumentsInType.ts, 11, 33)) ->i : Symbol(i, Decl(collisionArgumentsInType.ts, 12, 11)) ->arguments : Symbol(arguments, Decl(collisionArgumentsInType.ts, 12, 21)) -} diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).types b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).types deleted file mode 100644 index 044a9cbf3cb..00000000000 --- a/testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).types +++ /dev/null @@ -1,55 +0,0 @@ -//// [tests/cases/compiler/collisionArgumentsInType.ts] //// - -=== collisionArgumentsInType.ts === -var v1: (i: number, ...arguments) => void; // no error - no code gen ->v1 : (i: number, ...arguments: any[]) => void ->i : number ->arguments : any[] - -var v12: (arguments: number, ...restParameters) => void; // no error - no code gen ->v12 : (arguments: number, ...restParameters: any[]) => void ->arguments : number ->restParameters : any[] - -var v2: { ->v2 : { (arguments: number, ...restParameters: any[]): any; new (arguments: number, ...restParameters: any[]): any; foo(arguments: number, ...restParameters: any[]): any; prop: (arguments: number, ...restParameters: any[]) => void; } - - (arguments: number, ...restParameters); // no error - no code gen ->arguments : number ->restParameters : any[] - - new (arguments: number, ...restParameters); // no error - no code gen ->arguments : number ->restParameters : any[] - - foo(arguments: number, ...restParameters); // no error - no code gen ->foo : (arguments: number, ...restParameters: any[]) => any ->arguments : number ->restParameters : any[] - - prop: (arguments: number, ...restParameters) => void; // no error - no code gen ->prop : (arguments: number, ...restParameters: any[]) => void ->arguments : number ->restParameters : any[] -} -var v21: { ->v21 : { (i: number, ...arguments: any[]): any; new (i: number, ...arguments: any[]): any; foo(i: number, ...arguments: any[]): any; prop: (i: number, ...arguments: any[]) => void; } - - (i: number, ...arguments); // no error - no code gen ->i : number ->arguments : any[] - - new (i: number, ...arguments); // no error - no code gen ->i : number ->arguments : any[] - - foo(i: number, ...arguments); // no error - no code gen ->foo : (i: number, ...arguments: any[]) => any ->i : number ->arguments : any[] - - prop: (i: number, ...arguments) => void; // no error - no code gen ->prop : (i: number, ...arguments: any[]) => void ->i : number ->arguments : any[] -} diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).types.diff b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).types.diff deleted file mode 100644 index cc4422260ef..00000000000 --- a/testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).types.diff +++ /dev/null @@ -1,20 +0,0 @@ ---- old.collisionArgumentsInType(alwaysstrict=false).types -+++ new.collisionArgumentsInType(alwaysstrict=false).types -@@= skipped -11, +11 lines =@@ - >restParameters : any[] - - var v2: { -->v2 : { (arguments: number, ...restParameters: any[]): any; new (arguments: number, ...restParameters: any[]): any; foo(arguments: number, ...restParameters: any[]): any; prop: (arguments: number, ...restParameters: any) => void; } -+>v2 : { (arguments: number, ...restParameters: any[]): any; new (arguments: number, ...restParameters: any[]): any; foo(arguments: number, ...restParameters: any[]): any; prop: (arguments: number, ...restParameters: any[]) => void; } - - (arguments: number, ...restParameters); // no error - no code gen - >arguments : number -@@= skipped -21, +21 lines =@@ - >restParameters : any[] - } - var v21: { -->v21 : { (i: number, ...arguments: any[]): any; new (i: number, ...arguments: any[]): any; foo(i: number, ...arguments: any[]): any; prop: (i: number, ...arguments: any) => void; } -+>v21 : { (i: number, ...arguments: any[]): any; new (i: number, ...arguments: any[]): any; foo(i: number, ...arguments: any[]): any; prop: (i: number, ...arguments: any[]) => void; } - - (i: number, ...arguments); // no error - no code gen - >i : number \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).js b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).js deleted file mode 100644 index f0a187da57d..00000000000 --- a/testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).js +++ /dev/null @@ -1,33 +0,0 @@ -//// [tests/cases/compiler/collisionArgumentsInterfaceMembers.ts] //// - -//// [collisionArgumentsInterfaceMembers.ts] -// call -interface i1 { - (i: number, ...arguments); // no error - no code gen -} -interface i12 { - (arguments: number, ...rest); // no error - no code gen -} -interface i1NoError { - (arguments: number); // no error -} - -// new -interface i2 { - new (i: number, ...arguments); // no error - no code gen -} -interface i21 { - new (arguments: number, ...rest); // no error - no code gen -} -interface i2NoError { - new (arguments: number); // no error -} - -// method -interface i3 { - foo(i: number, ...arguments); // no error - no code gen - foo1(arguments: number, ...rest); // no error - no code gen - fooNoError(arguments: number); // no error -} - -//// [collisionArgumentsInterfaceMembers.js] diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).symbols deleted file mode 100644 index 890a134c925..00000000000 --- a/testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).symbols +++ /dev/null @@ -1,65 +0,0 @@ -//// [tests/cases/compiler/collisionArgumentsInterfaceMembers.ts] //// - -=== collisionArgumentsInterfaceMembers.ts === -// call -interface i1 { ->i1 : Symbol(i1, Decl(collisionArgumentsInterfaceMembers.ts, 0, 0)) - - (i: number, ...arguments); // no error - no code gen ->i : Symbol(i, Decl(collisionArgumentsInterfaceMembers.ts, 2, 5)) ->arguments : Symbol(arguments, Decl(collisionArgumentsInterfaceMembers.ts, 2, 15)) -} -interface i12 { ->i12 : Symbol(i12, Decl(collisionArgumentsInterfaceMembers.ts, 3, 1)) - - (arguments: number, ...rest); // no error - no code gen ->arguments : Symbol(arguments, Decl(collisionArgumentsInterfaceMembers.ts, 5, 5)) ->rest : Symbol(rest, Decl(collisionArgumentsInterfaceMembers.ts, 5, 23)) -} -interface i1NoError { ->i1NoError : Symbol(i1NoError, Decl(collisionArgumentsInterfaceMembers.ts, 6, 1)) - - (arguments: number); // no error ->arguments : Symbol(arguments, Decl(collisionArgumentsInterfaceMembers.ts, 8, 5)) -} - -// new -interface i2 { ->i2 : Symbol(i2, Decl(collisionArgumentsInterfaceMembers.ts, 9, 1)) - - new (i: number, ...arguments); // no error - no code gen ->i : Symbol(i, Decl(collisionArgumentsInterfaceMembers.ts, 13, 9)) ->arguments : Symbol(arguments, Decl(collisionArgumentsInterfaceMembers.ts, 13, 19)) -} -interface i21 { ->i21 : Symbol(i21, Decl(collisionArgumentsInterfaceMembers.ts, 14, 1)) - - new (arguments: number, ...rest); // no error - no code gen ->arguments : Symbol(arguments, Decl(collisionArgumentsInterfaceMembers.ts, 16, 9)) ->rest : Symbol(rest, Decl(collisionArgumentsInterfaceMembers.ts, 16, 27)) -} -interface i2NoError { ->i2NoError : Symbol(i2NoError, Decl(collisionArgumentsInterfaceMembers.ts, 17, 1)) - - new (arguments: number); // no error ->arguments : Symbol(arguments, Decl(collisionArgumentsInterfaceMembers.ts, 19, 9)) -} - -// method -interface i3 { ->i3 : Symbol(i3, Decl(collisionArgumentsInterfaceMembers.ts, 20, 1)) - - foo(i: number, ...arguments); // no error - no code gen ->foo : Symbol(i3.foo, Decl(collisionArgumentsInterfaceMembers.ts, 23, 14)) ->i : Symbol(i, Decl(collisionArgumentsInterfaceMembers.ts, 24, 8)) ->arguments : Symbol(arguments, Decl(collisionArgumentsInterfaceMembers.ts, 24, 18)) - - foo1(arguments: number, ...rest); // no error - no code gen ->foo1 : Symbol(i3.foo1, Decl(collisionArgumentsInterfaceMembers.ts, 24, 33)) ->arguments : Symbol(arguments, Decl(collisionArgumentsInterfaceMembers.ts, 25, 9)) ->rest : Symbol(rest, Decl(collisionArgumentsInterfaceMembers.ts, 25, 27)) - - fooNoError(arguments: number); // no error ->fooNoError : Symbol(i3.fooNoError, Decl(collisionArgumentsInterfaceMembers.ts, 25, 37)) ->arguments : Symbol(arguments, Decl(collisionArgumentsInterfaceMembers.ts, 26, 15)) -} diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).types b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).types deleted file mode 100644 index bdb5aef1f7b..00000000000 --- a/testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).types +++ /dev/null @@ -1,51 +0,0 @@ -//// [tests/cases/compiler/collisionArgumentsInterfaceMembers.ts] //// - -=== collisionArgumentsInterfaceMembers.ts === -// call -interface i1 { - (i: number, ...arguments); // no error - no code gen ->i : number ->arguments : any[] -} -interface i12 { - (arguments: number, ...rest); // no error - no code gen ->arguments : number ->rest : any[] -} -interface i1NoError { - (arguments: number); // no error ->arguments : number -} - -// new -interface i2 { - new (i: number, ...arguments); // no error - no code gen ->i : number ->arguments : any[] -} -interface i21 { - new (arguments: number, ...rest); // no error - no code gen ->arguments : number ->rest : any[] -} -interface i2NoError { - new (arguments: number); // no error ->arguments : number -} - -// method -interface i3 { - foo(i: number, ...arguments); // no error - no code gen ->foo : (i: number, ...arguments: any[]) => any ->i : number ->arguments : any[] - - foo1(arguments: number, ...rest); // no error - no code gen ->foo1 : (arguments: number, ...rest: any[]) => any ->arguments : number ->rest : any[] - - fooNoError(arguments: number); // no error ->fooNoError : (arguments: number) => any ->arguments : number -} diff --git a/testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).errors.txt deleted file mode 100644 index 7134a605441..00000000000 --- a/testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).errors.txt +++ /dev/null @@ -1,62 +0,0 @@ -constDeclarations-invalidContexts.ts(3,5): error TS1156: 'const' declarations can only be declared inside a block. -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 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,12): error TS1156: 'const' declarations can only be declared inside a block. -constDeclarations-invalidContexts.ts(28,29): error TS1156: 'const' declarations can only be declared inside a block. - - -==== constDeclarations-invalidContexts.ts (9 errors) ==== - // Errors, const must be defined inside a block - if (true) - const c1 = 0; - ~~~~~~~~~~~~~ -!!! error TS1156: 'const' declarations can only be declared inside a block. - else - const c2 = 0; - ~~~~~~~~~~~~~ -!!! error TS1156: 'const' declarations can only be declared inside a block. - - while (true) - const c3 = 0; - ~~~~~~~~~~~~~ -!!! error TS1156: 'const' declarations can only be declared inside a block. - - do - const c4 = 0; - ~~~~~~~~~~~~~ -!!! error TS1156: 'const' declarations can only be declared inside a block. - while (true); - - var obj; - with (obj) - ~~~~~~~~~~ -!!! 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 - - for (var i = 0; i < 10; i++) - const c6 = 0; - ~~~~~~~~~~~~~ -!!! error TS1156: 'const' declarations can only be declared inside a block. - - for (var i2 in {}) - const c7 = 0; - ~~~~~~~~~~~~~ -!!! error TS1156: 'const' declarations can only be declared inside a block. - - if (true) - label: const c8 = 0; - ~~~~~~~~~~~~~ -!!! error TS1156: 'const' declarations can only be declared inside a block. - - while (false) - label2: label3: label4: const c9 = 0; - ~~~~~~~~~~~~~ -!!! error TS1156: 'const' declarations can only be declared inside a block. - - - - \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).js b/testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).js deleted file mode 100644 index 89f0d6d18cc..00000000000 --- a/testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).js +++ /dev/null @@ -1,58 +0,0 @@ -//// [tests/cases/compiler/constDeclarations-invalidContexts.ts] //// - -//// [constDeclarations-invalidContexts.ts] -// Errors, const must be defined inside a block -if (true) - const c1 = 0; -else - const c2 = 0; - -while (true) - const c3 = 0; - -do - const c4 = 0; -while (true); - -var obj; -with (obj) - const c5 = 0; // No Error will be reported here since we turn off all type checking - -for (var i = 0; i < 10; i++) - const c6 = 0; - -for (var i2 in {}) - const c7 = 0; - -if (true) - label: const c8 = 0; - -while (false) - label2: label3: label4: const c9 = 0; - - - - - -//// [constDeclarations-invalidContexts.js] -// Errors, const must be defined inside a block -if (true) - const c1 = 0; -else - const c2 = 0; -while (true) - const c3 = 0; -do - const c4 = 0; -while (true); -var obj; -with (obj) - const c5 = 0; // No Error will be reported here since we turn off all type checking -for (var i = 0; i < 10; i++) - const c6 = 0; -for (var i2 in {}) - const c7 = 0; -if (true) - label: const c8 = 0; -while (false) - label2: label3: label4: const c9 = 0; diff --git a/testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).symbols deleted file mode 100644 index f85a1f2738d..00000000000 --- a/testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).symbols +++ /dev/null @@ -1,55 +0,0 @@ -//// [tests/cases/compiler/constDeclarations-invalidContexts.ts] //// - -=== constDeclarations-invalidContexts.ts === -// Errors, const must be defined inside a block -if (true) - const c1 = 0; ->c1 : Symbol(c1, Decl(constDeclarations-invalidContexts.ts, 2, 9)) - -else - const c2 = 0; ->c2 : Symbol(c2, Decl(constDeclarations-invalidContexts.ts, 4, 9)) - -while (true) - const c3 = 0; ->c3 : Symbol(c3, Decl(constDeclarations-invalidContexts.ts, 7, 9)) - -do - const c4 = 0; ->c4 : Symbol(c4, Decl(constDeclarations-invalidContexts.ts, 10, 9)) - -while (true); - -var obj; ->obj : Symbol(obj, Decl(constDeclarations-invalidContexts.ts, 13, 3)) - -with (obj) ->obj : Symbol(obj, Decl(constDeclarations-invalidContexts.ts, 13, 3)) - - const c5 = 0; // No Error will be reported here since we turn off all type checking - -for (var i = 0; i < 10; i++) ->i : Symbol(i, Decl(constDeclarations-invalidContexts.ts, 17, 8)) ->i : Symbol(i, Decl(constDeclarations-invalidContexts.ts, 17, 8)) ->i : Symbol(i, Decl(constDeclarations-invalidContexts.ts, 17, 8)) - - const c6 = 0; ->c6 : Symbol(c6, Decl(constDeclarations-invalidContexts.ts, 18, 9)) - -for (var i2 in {}) ->i2 : Symbol(i2, Decl(constDeclarations-invalidContexts.ts, 20, 8)) - - const c7 = 0; ->c7 : Symbol(c7, Decl(constDeclarations-invalidContexts.ts, 21, 9)) - -if (true) - label: const c8 = 0; ->c8 : Symbol(c8, Decl(constDeclarations-invalidContexts.ts, 24, 16)) - -while (false) - label2: label3: label4: const c9 = 0; ->c9 : Symbol(c9, Decl(constDeclarations-invalidContexts.ts, 27, 33)) - - - - diff --git a/testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).types b/testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).types deleted file mode 100644 index 8dd6956b22f..00000000000 --- a/testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).types +++ /dev/null @@ -1,83 +0,0 @@ -//// [tests/cases/compiler/constDeclarations-invalidContexts.ts] //// - -=== constDeclarations-invalidContexts.ts === -// Errors, const must be defined inside a block -if (true) ->true : true - - const c1 = 0; ->c1 : 0 ->0 : 0 - -else - const c2 = 0; ->c2 : 0 ->0 : 0 - -while (true) ->true : true - - const c3 = 0; ->c3 : 0 ->0 : 0 - -do - const c4 = 0; ->c4 : 0 ->0 : 0 - -while (true); ->true : true - -var obj; ->obj : any - -with (obj) ->obj : any - - const c5 = 0; // No Error will be reported here since we turn off all type checking ->c5 : any ->0 : any - -for (var i = 0; i < 10; i++) ->i : number ->0 : 0 ->i < 10 : boolean ->i : number ->10 : 10 ->i++ : number ->i : number - - const c6 = 0; ->c6 : 0 ->0 : 0 - -for (var i2 in {}) ->i2 : string ->{} : {} - - const c7 = 0; ->c7 : 0 ->0 : 0 - -if (true) ->true : true - - label: const c8 = 0; ->label : any ->c8 : 0 ->0 : 0 - -while (false) ->false : false - - label2: label3: label4: const c9 = 0; ->label2 : any ->label3 : any ->label4 : any ->c9 : 0 ->0 : 0 - - - - diff --git a/testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).errors.txt deleted file mode 100644 index a715ebc860a..00000000000 --- a/testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).errors.txt +++ /dev/null @@ -1,152 +0,0 @@ -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 (1 errors) ==== - // global - const c = "string"; - - var n: number; - - // Control flow statements with blocks - if (true) { - const c = 0; - n = c; - } - else { - const c = 0; - n = c; - } - - while (true) { - const c = 0; - n = c; - } - - do { - const c = 0; - n = c; - } while (true); - - var obj; - with (obj) { - ~~~~~~~~~~ -!!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. - const c = 0; - n = c; - } - - for (var i = 0; i < 10; i++) { - const c = 0; - n = c; - } - - for (var i2 in {}) { - const c = 0; - n = c; - } - - if (true) { - label: const c = 0; - n = c; - } - - while (false) { - label2: label3: label4: const c = 0; - n = c; - } - - // Try/catch/finally - try { - const c = 0; - n = c; - } - catch (e) { - const c = 0; - n = c; - } - finally { - const c = 0; - n = c; - } - - // Switch - switch (0) { - case 0: - const c = 0; - n = c; - break; - } - - // blocks - { - const c = 0; - n = c; - { - const c = false; - var b: boolean = c; - } - } - - // functions - - function F() { - const c = 0; - n = c; - } - - var F2 = () => { - const c = 0; - n = c; - }; - - var F3 = function () { - const c = 0; - n = c; - }; - - // modules - namespace m { - const c = 0; - n = c; - - { - const c = false; - var b2: boolean = c; - } - } - - // methods - class C { - constructor() { - const c = 0; - n = c; - } - - method() { - const c = 0; - n = c; - } - - get v() { - const c = 0; - n = c; - return n; - } - - set v(value) { - const c = 0; - n = c; - } - } - - // object literals - var o = { - f() { - const c = 0; - n = c; - }, - f2: () => { - const c = 0; - n = c; - } - } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).js b/testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).js deleted file mode 100644 index b7fbe902110..00000000000 --- a/testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).js +++ /dev/null @@ -1,275 +0,0 @@ -//// [tests/cases/compiler/constDeclarations-scopes.ts] //// - -//// [constDeclarations-scopes.ts] -// global -const c = "string"; - -var n: number; - -// Control flow statements with blocks -if (true) { - const c = 0; - n = c; -} -else { - const c = 0; - n = c; -} - -while (true) { - const c = 0; - n = c; -} - -do { - const c = 0; - n = c; -} while (true); - -var obj; -with (obj) { - const c = 0; - n = c; -} - -for (var i = 0; i < 10; i++) { - const c = 0; - n = c; -} - -for (var i2 in {}) { - const c = 0; - n = c; -} - -if (true) { - label: const c = 0; - n = c; -} - -while (false) { - label2: label3: label4: const c = 0; - n = c; -} - -// Try/catch/finally -try { - const c = 0; - n = c; -} -catch (e) { - const c = 0; - n = c; -} -finally { - const c = 0; - n = c; -} - -// Switch -switch (0) { - case 0: - const c = 0; - n = c; - break; -} - -// blocks -{ - const c = 0; - n = c; - { - const c = false; - var b: boolean = c; - } -} - -// functions - -function F() { - const c = 0; - n = c; -} - -var F2 = () => { - const c = 0; - n = c; -}; - -var F3 = function () { - const c = 0; - n = c; -}; - -// modules -namespace m { - const c = 0; - n = c; - - { - const c = false; - var b2: boolean = c; - } -} - -// methods -class C { - constructor() { - const c = 0; - n = c; - } - - method() { - const c = 0; - n = c; - } - - get v() { - const c = 0; - n = c; - return n; - } - - set v(value) { - const c = 0; - n = c; - } -} - -// object literals -var o = { - f() { - const c = 0; - n = c; - }, - f2: () => { - const c = 0; - n = c; - } -} - -//// [constDeclarations-scopes.js] -// global -const c = "string"; -var n; -// Control flow statements with blocks -if (true) { - const c = 0; - n = c; -} -else { - const c = 0; - n = c; -} -while (true) { - const c = 0; - n = c; -} -do { - const c = 0; - n = c; -} while (true); -var obj; -with (obj) { - const c = 0; - n = c; -} -for (var i = 0; i < 10; i++) { - const c = 0; - n = c; -} -for (var i2 in {}) { - const c = 0; - n = c; -} -if (true) { - label: const c = 0; - n = c; -} -while (false) { - label2: label3: label4: const c = 0; - n = c; -} -// Try/catch/finally -try { - const c = 0; - n = c; -} -catch (e) { - const c = 0; - n = c; -} -finally { - const c = 0; - n = c; -} -// Switch -switch (0) { - case 0: - const c = 0; - n = c; - break; -} -// blocks -{ - const c = 0; - n = c; - { - const c = false; - var b = c; - } -} -// functions -function F() { - const c = 0; - n = c; -} -var F2 = () => { - const c = 0; - n = c; -}; -var F3 = function () { - const c = 0; - n = c; -}; -// modules -var m; -(function (m) { - const c = 0; - n = c; - { - const c = false; - var b2 = c; - } -})(m || (m = {})); -// methods -class C { - constructor() { - const c = 0; - n = c; - } - method() { - const c = 0; - n = c; - } - get v() { - const c = 0; - n = c; - return n; - } - set v(value) { - const c = 0; - n = c; - } -} -// object literals -var o = { - f() { - const c = 0; - n = c; - }, - f2: () => { - const c = 0; - n = c; - } -}; diff --git a/testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).symbols deleted file mode 100644 index 6093e1a4ada..00000000000 --- a/testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).symbols +++ /dev/null @@ -1,293 +0,0 @@ -//// [tests/cases/compiler/constDeclarations-scopes.ts] //// - -=== constDeclarations-scopes.ts === -// global -const c = "string"; ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 1, 5)) - -var n: number; ->n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) - -// Control flow statements with blocks -if (true) { - const c = 0; ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 7, 9)) - - n = c; ->n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 7, 9)) -} -else { - const c = 0; ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 11, 9)) - - n = c; ->n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 11, 9)) -} - -while (true) { - const c = 0; ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 16, 9)) - - n = c; ->n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 16, 9)) -} - -do { - const c = 0; ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 21, 8)) - - n = c; ->n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 21, 8)) - -} while (true); - -var obj; ->obj : Symbol(obj, Decl(constDeclarations-scopes.ts, 25, 3)) - -with (obj) { ->obj : Symbol(obj, Decl(constDeclarations-scopes.ts, 25, 3)) - - const c = 0; - n = c; -} - -for (var i = 0; i < 10; i++) { ->i : Symbol(i, Decl(constDeclarations-scopes.ts, 31, 8)) ->i : Symbol(i, Decl(constDeclarations-scopes.ts, 31, 8)) ->i : Symbol(i, Decl(constDeclarations-scopes.ts, 31, 8)) - - const c = 0; ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 32, 9)) - - n = c; ->n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 32, 9)) -} - -for (var i2 in {}) { ->i2 : Symbol(i2, Decl(constDeclarations-scopes.ts, 36, 8)) - - const c = 0; ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 37, 9)) - - n = c; ->n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 37, 9)) -} - -if (true) { - label: const c = 0; ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 42, 16)) - - n = c; ->n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 42, 16)) -} - -while (false) { - label2: label3: label4: const c = 0; ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 47, 33)) - - n = c; ->n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 47, 33)) -} - -// Try/catch/finally -try { - const c = 0; ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 53, 9)) - - n = c; ->n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 53, 9)) -} -catch (e) { ->e : Symbol(e, Decl(constDeclarations-scopes.ts, 56, 7)) - - const c = 0; ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 57, 9)) - - n = c; ->n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 57, 9)) -} -finally { - const c = 0; ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 61, 9)) - - n = c; ->n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 61, 9)) -} - -// Switch -switch (0) { - case 0: - const c = 0; ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 68, 13)) - - n = c; ->n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 68, 13)) - - break; -} - -// blocks -{ - const c = 0; ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 75, 9)) - - n = c; ->n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 75, 9)) - { - const c = false; ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 78, 13)) - - var b: boolean = c; ->b : Symbol(b, Decl(constDeclarations-scopes.ts, 79, 11)) ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 78, 13)) - } -} - -// functions - -function F() { ->F : Symbol(F, Decl(constDeclarations-scopes.ts, 81, 1)) - - const c = 0; ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 86, 9)) - - n = c; ->n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 86, 9)) -} - -var F2 = () => { ->F2 : Symbol(F2, Decl(constDeclarations-scopes.ts, 90, 3)) - - const c = 0; ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 91, 9)) - - n = c; ->n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 91, 9)) - -}; - -var F3 = function () { ->F3 : Symbol(F3, Decl(constDeclarations-scopes.ts, 95, 3)) - - const c = 0; ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 96, 9)) - - n = c; ->n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 96, 9)) - -}; - -// modules -namespace m { ->m : Symbol(m, Decl(constDeclarations-scopes.ts, 98, 2)) - - const c = 0; ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 102, 9)) - - n = c; ->n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 102, 9)) - - { - const c = false; ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 106, 12)) - - var b2: boolean = c; ->b2 : Symbol(b2, Decl(constDeclarations-scopes.ts, 107, 10)) ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 106, 12)) - } -} - -// methods -class C { ->C : Symbol(C, Decl(constDeclarations-scopes.ts, 109, 1)) - - constructor() { - const c = 0; ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 114, 13)) - - n = c; ->n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 114, 13)) - } - - method() { ->method : Symbol(C.method, Decl(constDeclarations-scopes.ts, 116, 5)) - - const c = 0; ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 119, 13)) - - n = c; ->n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 119, 13)) - } - - get v() { ->v : Symbol(C.v, Decl(constDeclarations-scopes.ts, 121, 5), Decl(constDeclarations-scopes.ts, 127, 5)) - - const c = 0; ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 124, 13)) - - n = c; ->n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 124, 13)) - - return n; ->n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) - } - - set v(value) { ->v : Symbol(C.v, Decl(constDeclarations-scopes.ts, 121, 5), Decl(constDeclarations-scopes.ts, 127, 5)) ->value : Symbol(value, Decl(constDeclarations-scopes.ts, 129, 10)) - - const c = 0; ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 130, 13)) - - n = c; ->n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 130, 13)) - } -} - -// object literals -var o = { ->o : Symbol(o, Decl(constDeclarations-scopes.ts, 136, 3)) - - f() { ->f : Symbol(f, Decl(constDeclarations-scopes.ts, 136, 9)) - - const c = 0; ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 138, 13)) - - n = c; ->n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 138, 13)) - - }, - f2: () => { ->f2 : Symbol(f2, Decl(constDeclarations-scopes.ts, 140, 6)) - - const c = 0; ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 142, 13)) - - n = c; ->n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) ->c : Symbol(c, Decl(constDeclarations-scopes.ts, 142, 13)) - } -} diff --git a/testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).types b/testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).types deleted file mode 100644 index 7e4bad649d5..00000000000 --- a/testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).types +++ /dev/null @@ -1,374 +0,0 @@ -//// [tests/cases/compiler/constDeclarations-scopes.ts] //// - -=== constDeclarations-scopes.ts === -// global -const c = "string"; ->c : "string" ->"string" : "string" - -var n: number; ->n : number - -// Control flow statements with blocks -if (true) { ->true : true - - const c = 0; ->c : 0 ->0 : 0 - - n = c; ->n = c : 0 ->n : number ->c : 0 -} -else { - const c = 0; ->c : 0 ->0 : 0 - - n = c; ->n = c : 0 ->n : number ->c : 0 -} - -while (true) { ->true : true - - const c = 0; ->c : 0 ->0 : 0 - - n = c; ->n = c : 0 ->n : number ->c : 0 -} - -do { - const c = 0; ->c : 0 ->0 : 0 - - n = c; ->n = c : 0 ->n : number ->c : 0 - -} while (true); ->true : true - -var obj; ->obj : any - -with (obj) { ->obj : any - - const c = 0; ->c : any ->0 : any - - n = c; ->n = c : any ->n : any ->c : any -} - -for (var i = 0; i < 10; i++) { ->i : number ->0 : 0 ->i < 10 : boolean ->i : number ->10 : 10 ->i++ : number ->i : number - - const c = 0; ->c : 0 ->0 : 0 - - n = c; ->n = c : 0 ->n : number ->c : 0 -} - -for (var i2 in {}) { ->i2 : string ->{} : {} - - const c = 0; ->c : 0 ->0 : 0 - - n = c; ->n = c : 0 ->n : number ->c : 0 -} - -if (true) { ->true : true - - label: const c = 0; ->label : any ->c : 0 ->0 : 0 - - n = c; ->n = c : 0 ->n : number ->c : 0 -} - -while (false) { ->false : false - - label2: label3: label4: const c = 0; ->label2 : any ->label3 : any ->label4 : any ->c : 0 ->0 : 0 - - n = c; ->n = c : 0 ->n : number ->c : 0 -} - -// Try/catch/finally -try { - const c = 0; ->c : 0 ->0 : 0 - - n = c; ->n = c : 0 ->n : number ->c : 0 -} -catch (e) { ->e : any - - const c = 0; ->c : 0 ->0 : 0 - - n = c; ->n = c : 0 ->n : number ->c : 0 -} -finally { - const c = 0; ->c : 0 ->0 : 0 - - n = c; ->n = c : 0 ->n : number ->c : 0 -} - -// Switch -switch (0) { ->0 : 0 - - case 0: ->0 : 0 - - const c = 0; ->c : 0 ->0 : 0 - - n = c; ->n = c : 0 ->n : number ->c : 0 - - break; -} - -// blocks -{ - const c = 0; ->c : 0 ->0 : 0 - - n = c; ->n = c : 0 ->n : number ->c : 0 - { - const c = false; ->c : false ->false : false - - var b: boolean = c; ->b : boolean ->c : false - } -} - -// functions - -function F() { ->F : () => void - - const c = 0; ->c : 0 ->0 : 0 - - n = c; ->n = c : 0 ->n : number ->c : 0 -} - -var F2 = () => { ->F2 : () => void ->() => { const c = 0; n = c;} : () => void - - const c = 0; ->c : 0 ->0 : 0 - - n = c; ->n = c : 0 ->n : number ->c : 0 - -}; - -var F3 = function () { ->F3 : () => void ->function () { const c = 0; n = c;} : () => void - - const c = 0; ->c : 0 ->0 : 0 - - n = c; ->n = c : 0 ->n : number ->c : 0 - -}; - -// modules -namespace m { ->m : typeof m - - const c = 0; ->c : 0 ->0 : 0 - - n = c; ->n = c : 0 ->n : number ->c : 0 - - { - const c = false; ->c : false ->false : false - - var b2: boolean = c; ->b2 : boolean ->c : false - } -} - -// methods -class C { ->C : C - - constructor() { - const c = 0; ->c : 0 ->0 : 0 - - n = c; ->n = c : 0 ->n : number ->c : 0 - } - - method() { ->method : () => void - - const c = 0; ->c : 0 ->0 : 0 - - n = c; ->n = c : 0 ->n : number ->c : 0 - } - - get v() { ->v : number - - const c = 0; ->c : 0 ->0 : 0 - - n = c; ->n = c : 0 ->n : number ->c : 0 - - return n; ->n : number - } - - set v(value) { ->v : number ->value : number - - const c = 0; ->c : 0 ->0 : 0 - - n = c; ->n = c : 0 ->n : number ->c : 0 - } -} - -// object literals -var o = { ->o : { f(): void; f2: () => void; } ->{ f() { const c = 0; n = c; }, f2: () => { const c = 0; n = c; }} : { f(): void; f2: () => void; } - - f() { ->f : () => void - - const c = 0; ->c : 0 ->0 : 0 - - n = c; ->n = c : 0 ->n : number ->c : 0 - - }, - f2: () => { ->f2 : () => void ->() => { const c = 0; n = c; } : () => void - - const c = 0; ->c : 0 ->0 : 0 - - n = c; ->n = c : 0 ->n : number ->c : 0 - } -} diff --git a/testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).errors.txt deleted file mode 100644 index ea2262681bf..00000000000 --- a/testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).errors.txt +++ /dev/null @@ -1,127 +0,0 @@ -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 (1 errors) ==== - // Control flow statements with blocks - if (true) { - const c1 = 0; - } - else { - const c2 = 0; - } - - while (true) { - const c3 = 0; - } - - do { - const c4 = 0; - } while (true); - - var obj; - with (obj) { - ~~~~~~~~~~ -!!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. - const c5 = 0; - } - - for (var i = 0; i < 10; i++) { - const c6 = 0; - } - - for (var i2 in {}) { - const c7 = 0; - } - - if (true) { - label: const c8 = 0; - } - - while (false) { - label2: label3: label4: const c9 = 0; - } - - // Try/catch/finally - try { - const c10 = 0; - } - catch (e) { - const c11 = 0; - } - finally { - const c12 = 0; - } - - // Switch - switch (0) { - case 0: - const c13 = 0; - break; - default: - const c14 = 0; - break; - } - - // blocks - { - const c15 = 0; - { - const c16 = 0 - label17: const c17 = 0; - } - } - - // global - const c18 = 0; - - // functions - function F() { - const c19 = 0; - } - - var F2 = () => { - const c20 = 0; - }; - - var F3 = function () { - const c21 = 0; - }; - - // modules - namespace m { - const c22 = 0; - - { - const c23 = 0; - } - } - - // methods - class C { - constructor() { - const c24 = 0; - } - - method() { - const c25 = 0; - } - - get v() { - const c26 = 0; - return c26; - } - - set v(value) { - const c27 = value; - } - } - - // object literals - var o = { - f() { - const c28 = 0; - }, - f2: () => { - const c29 = 0; - } - } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).js b/testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).js deleted file mode 100644 index 138e4828780..00000000000 --- a/testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).js +++ /dev/null @@ -1,227 +0,0 @@ -//// [tests/cases/compiler/constDeclarations-validContexts.ts] //// - -//// [constDeclarations-validContexts.ts] -// Control flow statements with blocks -if (true) { - const c1 = 0; -} -else { - const c2 = 0; -} - -while (true) { - const c3 = 0; -} - -do { - const c4 = 0; -} while (true); - -var obj; -with (obj) { - const c5 = 0; -} - -for (var i = 0; i < 10; i++) { - const c6 = 0; -} - -for (var i2 in {}) { - const c7 = 0; -} - -if (true) { - label: const c8 = 0; -} - -while (false) { - label2: label3: label4: const c9 = 0; -} - -// Try/catch/finally -try { - const c10 = 0; -} -catch (e) { - const c11 = 0; -} -finally { - const c12 = 0; -} - -// Switch -switch (0) { - case 0: - const c13 = 0; - break; - default: - const c14 = 0; - break; -} - -// blocks -{ - const c15 = 0; - { - const c16 = 0 - label17: const c17 = 0; - } -} - -// global -const c18 = 0; - -// functions -function F() { - const c19 = 0; -} - -var F2 = () => { - const c20 = 0; -}; - -var F3 = function () { - const c21 = 0; -}; - -// modules -namespace m { - const c22 = 0; - - { - const c23 = 0; - } -} - -// methods -class C { - constructor() { - const c24 = 0; - } - - method() { - const c25 = 0; - } - - get v() { - const c26 = 0; - return c26; - } - - set v(value) { - const c27 = value; - } -} - -// object literals -var o = { - f() { - const c28 = 0; - }, - f2: () => { - const c29 = 0; - } -} - -//// [constDeclarations-validContexts.js] -// Control flow statements with blocks -if (true) { - const c1 = 0; -} -else { - const c2 = 0; -} -while (true) { - const c3 = 0; -} -do { - const c4 = 0; -} while (true); -var obj; -with (obj) { - const c5 = 0; -} -for (var i = 0; i < 10; i++) { - const c6 = 0; -} -for (var i2 in {}) { - const c7 = 0; -} -if (true) { - label: const c8 = 0; -} -while (false) { - label2: label3: label4: const c9 = 0; -} -// Try/catch/finally -try { - const c10 = 0; -} -catch (e) { - const c11 = 0; -} -finally { - const c12 = 0; -} -// Switch -switch (0) { - case 0: - const c13 = 0; - break; - default: - const c14 = 0; - break; -} -// blocks -{ - const c15 = 0; - { - const c16 = 0; - label17: const c17 = 0; - } -} -// global -const c18 = 0; -// functions -function F() { - const c19 = 0; -} -var F2 = () => { - const c20 = 0; -}; -var F3 = function () { - const c21 = 0; -}; -// modules -var m; -(function (m) { - const c22 = 0; - { - const c23 = 0; - } -})(m || (m = {})); -// methods -class C { - constructor() { - const c24 = 0; - } - method() { - const c25 = 0; - } - get v() { - const c26 = 0; - return c26; - } - set v(value) { - const c27 = value; - } -} -// object literals -var o = { - f() { - const c28 = 0; - }, - f2: () => { - const c29 = 0; - } -}; diff --git a/testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).symbols deleted file mode 100644 index 3496aabc5bb..00000000000 --- a/testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).symbols +++ /dev/null @@ -1,197 +0,0 @@ -//// [tests/cases/compiler/constDeclarations-validContexts.ts] //// - -=== constDeclarations-validContexts.ts === -// Control flow statements with blocks -if (true) { - const c1 = 0; ->c1 : Symbol(c1, Decl(constDeclarations-validContexts.ts, 2, 9)) -} -else { - const c2 = 0; ->c2 : Symbol(c2, Decl(constDeclarations-validContexts.ts, 5, 9)) -} - -while (true) { - const c3 = 0; ->c3 : Symbol(c3, Decl(constDeclarations-validContexts.ts, 9, 9)) -} - -do { - const c4 = 0; ->c4 : Symbol(c4, Decl(constDeclarations-validContexts.ts, 13, 9)) - -} while (true); - -var obj; ->obj : Symbol(obj, Decl(constDeclarations-validContexts.ts, 16, 3)) - -with (obj) { ->obj : Symbol(obj, Decl(constDeclarations-validContexts.ts, 16, 3)) - - const c5 = 0; -} - -for (var i = 0; i < 10; i++) { ->i : Symbol(i, Decl(constDeclarations-validContexts.ts, 21, 8)) ->i : Symbol(i, Decl(constDeclarations-validContexts.ts, 21, 8)) ->i : Symbol(i, Decl(constDeclarations-validContexts.ts, 21, 8)) - - const c6 = 0; ->c6 : Symbol(c6, Decl(constDeclarations-validContexts.ts, 22, 9)) -} - -for (var i2 in {}) { ->i2 : Symbol(i2, Decl(constDeclarations-validContexts.ts, 25, 8)) - - const c7 = 0; ->c7 : Symbol(c7, Decl(constDeclarations-validContexts.ts, 26, 9)) -} - -if (true) { - label: const c8 = 0; ->c8 : Symbol(c8, Decl(constDeclarations-validContexts.ts, 30, 16)) -} - -while (false) { - label2: label3: label4: const c9 = 0; ->c9 : Symbol(c9, Decl(constDeclarations-validContexts.ts, 34, 33)) -} - -// Try/catch/finally -try { - const c10 = 0; ->c10 : Symbol(c10, Decl(constDeclarations-validContexts.ts, 39, 9)) -} -catch (e) { ->e : Symbol(e, Decl(constDeclarations-validContexts.ts, 41, 7)) - - const c11 = 0; ->c11 : Symbol(c11, Decl(constDeclarations-validContexts.ts, 42, 9)) -} -finally { - const c12 = 0; ->c12 : Symbol(c12, Decl(constDeclarations-validContexts.ts, 45, 9)) -} - -// Switch -switch (0) { - case 0: - const c13 = 0; ->c13 : Symbol(c13, Decl(constDeclarations-validContexts.ts, 51, 13)) - - break; - default: - const c14 = 0; ->c14 : Symbol(c14, Decl(constDeclarations-validContexts.ts, 54, 13)) - - break; -} - -// blocks -{ - const c15 = 0; ->c15 : Symbol(c15, Decl(constDeclarations-validContexts.ts, 60, 9)) - { - const c16 = 0 ->c16 : Symbol(c16, Decl(constDeclarations-validContexts.ts, 62, 13)) - - label17: const c17 = 0; ->c17 : Symbol(c17, Decl(constDeclarations-validContexts.ts, 63, 22)) - } -} - -// global -const c18 = 0; ->c18 : Symbol(c18, Decl(constDeclarations-validContexts.ts, 68, 5)) - -// functions -function F() { ->F : Symbol(F, Decl(constDeclarations-validContexts.ts, 68, 14)) - - const c19 = 0; ->c19 : Symbol(c19, Decl(constDeclarations-validContexts.ts, 72, 9)) -} - -var F2 = () => { ->F2 : Symbol(F2, Decl(constDeclarations-validContexts.ts, 75, 3)) - - const c20 = 0; ->c20 : Symbol(c20, Decl(constDeclarations-validContexts.ts, 76, 9)) - -}; - -var F3 = function () { ->F3 : Symbol(F3, Decl(constDeclarations-validContexts.ts, 79, 3)) - - const c21 = 0; ->c21 : Symbol(c21, Decl(constDeclarations-validContexts.ts, 80, 9)) - -}; - -// modules -namespace m { ->m : Symbol(m, Decl(constDeclarations-validContexts.ts, 81, 2)) - - const c22 = 0; ->c22 : Symbol(c22, Decl(constDeclarations-validContexts.ts, 85, 9)) - - { - const c23 = 0; ->c23 : Symbol(c23, Decl(constDeclarations-validContexts.ts, 88, 15)) - } -} - -// methods -class C { ->C : Symbol(C, Decl(constDeclarations-validContexts.ts, 90, 1)) - - constructor() { - const c24 = 0; ->c24 : Symbol(c24, Decl(constDeclarations-validContexts.ts, 95, 13)) - } - - method() { ->method : Symbol(C.method, Decl(constDeclarations-validContexts.ts, 96, 5)) - - const c25 = 0; ->c25 : Symbol(c25, Decl(constDeclarations-validContexts.ts, 99, 13)) - } - - get v() { ->v : Symbol(C.v, Decl(constDeclarations-validContexts.ts, 100, 5), Decl(constDeclarations-validContexts.ts, 105, 5)) - - const c26 = 0; ->c26 : Symbol(c26, Decl(constDeclarations-validContexts.ts, 103, 13)) - - return c26; ->c26 : Symbol(c26, Decl(constDeclarations-validContexts.ts, 103, 13)) - } - - set v(value) { ->v : Symbol(C.v, Decl(constDeclarations-validContexts.ts, 100, 5), Decl(constDeclarations-validContexts.ts, 105, 5)) ->value : Symbol(value, Decl(constDeclarations-validContexts.ts, 107, 10)) - - const c27 = value; ->c27 : Symbol(c27, Decl(constDeclarations-validContexts.ts, 108, 13)) ->value : Symbol(value, Decl(constDeclarations-validContexts.ts, 107, 10)) - } -} - -// object literals -var o = { ->o : Symbol(o, Decl(constDeclarations-validContexts.ts, 113, 3)) - - f() { ->f : Symbol(f, Decl(constDeclarations-validContexts.ts, 113, 9)) - - const c28 = 0; ->c28 : Symbol(c28, Decl(constDeclarations-validContexts.ts, 115, 13)) - - }, - f2: () => { ->f2 : Symbol(f2, Decl(constDeclarations-validContexts.ts, 116, 6)) - - const c29 = 0; ->c29 : Symbol(c29, Decl(constDeclarations-validContexts.ts, 118, 13)) - } -} diff --git a/testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).types b/testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).types deleted file mode 100644 index 9516c9a4a69..00000000000 --- a/testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).types +++ /dev/null @@ -1,253 +0,0 @@ -//// [tests/cases/compiler/constDeclarations-validContexts.ts] //// - -=== constDeclarations-validContexts.ts === -// Control flow statements with blocks -if (true) { ->true : true - - const c1 = 0; ->c1 : 0 ->0 : 0 -} -else { - const c2 = 0; ->c2 : 0 ->0 : 0 -} - -while (true) { ->true : true - - const c3 = 0; ->c3 : 0 ->0 : 0 -} - -do { - const c4 = 0; ->c4 : 0 ->0 : 0 - -} while (true); ->true : true - -var obj; ->obj : any - -with (obj) { ->obj : any - - const c5 = 0; ->c5 : any ->0 : any -} - -for (var i = 0; i < 10; i++) { ->i : number ->0 : 0 ->i < 10 : boolean ->i : number ->10 : 10 ->i++ : number ->i : number - - const c6 = 0; ->c6 : 0 ->0 : 0 -} - -for (var i2 in {}) { ->i2 : string ->{} : {} - - const c7 = 0; ->c7 : 0 ->0 : 0 -} - -if (true) { ->true : true - - label: const c8 = 0; ->label : any ->c8 : 0 ->0 : 0 -} - -while (false) { ->false : false - - label2: label3: label4: const c9 = 0; ->label2 : any ->label3 : any ->label4 : any ->c9 : 0 ->0 : 0 -} - -// Try/catch/finally -try { - const c10 = 0; ->c10 : 0 ->0 : 0 -} -catch (e) { ->e : any - - const c11 = 0; ->c11 : 0 ->0 : 0 -} -finally { - const c12 = 0; ->c12 : 0 ->0 : 0 -} - -// Switch -switch (0) { ->0 : 0 - - case 0: ->0 : 0 - - const c13 = 0; ->c13 : 0 ->0 : 0 - - break; - default: - const c14 = 0; ->c14 : 0 ->0 : 0 - - break; -} - -// blocks -{ - const c15 = 0; ->c15 : 0 ->0 : 0 - { - const c16 = 0 ->c16 : 0 ->0 : 0 - - label17: const c17 = 0; ->label17 : any ->c17 : 0 ->0 : 0 - } -} - -// global -const c18 = 0; ->c18 : 0 ->0 : 0 - -// functions -function F() { ->F : () => void - - const c19 = 0; ->c19 : 0 ->0 : 0 -} - -var F2 = () => { ->F2 : () => void ->() => { const c20 = 0;} : () => void - - const c20 = 0; ->c20 : 0 ->0 : 0 - -}; - -var F3 = function () { ->F3 : () => void ->function () { const c21 = 0;} : () => void - - const c21 = 0; ->c21 : 0 ->0 : 0 - -}; - -// modules -namespace m { ->m : typeof m - - const c22 = 0; ->c22 : 0 ->0 : 0 - - { - const c23 = 0; ->c23 : 0 ->0 : 0 - } -} - -// methods -class C { ->C : C - - constructor() { - const c24 = 0; ->c24 : 0 ->0 : 0 - } - - method() { ->method : () => void - - const c25 = 0; ->c25 : 0 ->0 : 0 - } - - get v() { ->v : number - - const c26 = 0; ->c26 : 0 ->0 : 0 - - return c26; ->c26 : 0 - } - - set v(value) { ->v : number ->value : number - - const c27 = value; ->c27 : number ->value : number - } -} - -// object literals -var o = { ->o : { f(): void; f2: () => void; } ->{ f() { const c28 = 0; }, f2: () => { const c29 = 0; }} : { f(): void; f2: () => void; } - - f() { ->f : () => void - - const c28 = 0; ->c28 : 0 ->0 : 0 - - }, - f2: () => { ->f2 : () => void ->() => { const c29 = 0; } : () => void - - const c29 = 0; ->c29 : 0 ->0 : 0 - } -} diff --git a/testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).errors.txt deleted file mode 100644 index de9cad2cb24..00000000000 --- a/testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).errors.txt +++ /dev/null @@ -1,338 +0,0 @@ -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. -convertKeywordsYes.ts(294,11): error TS1213: Identifier expected. 'let' is a reserved word in strict mode. Class definitions are automatically in strict mode. -convertKeywordsYes.ts(296,11): error TS1213: Identifier expected. 'package' is a reserved word in strict mode. Class definitions are automatically in strict mode. -convertKeywordsYes.ts(297,11): error TS1213: Identifier expected. 'private' is a reserved word in strict mode. Class definitions are automatically in strict mode. -convertKeywordsYes.ts(298,11): error TS1213: Identifier expected. 'protected' is a reserved word in strict mode. Class definitions are automatically in strict mode. -convertKeywordsYes.ts(299,11): error TS1213: Identifier expected. 'public' is a reserved word in strict mode. Class definitions are automatically in strict mode. -convertKeywordsYes.ts(301,11): error TS1213: Identifier expected. 'static' is a reserved word in strict mode. Class definitions are automatically in strict mode. -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) ==== - // reserved ES5 future in strict mode - - var constructor = 0; - var any = 0; - var boolean = 0; - var implements = 0; - var interface = 0; - var let = 0; - var module = 0; - var number = 0; - var package = 0; - var private = 0; - var protected = 0; - var public = 0; - var set = 0; - var static = 0; - var string = 0; - var get = 0; - var yield = 0; - var declare = 0; - - function bigGeneric< - constructor, - implements , - interface , - let, - module , - package, - private , - protected, - public , - set , - static , - get , - yield, - declare - >(c: constructor, - a: any, - b2: boolean, - i: implements , - i2: interface , - l: let, - m: module , - n: number, - p: package, - p2: private , - p3: protected, - p4: public , - s: set , - s2: static , - s3: string, - g: get , - y: yield, - d: declare ) { } - - var bigObject = { - constructor: 0, - any: 0, - boolean: 0, - implements: 0, - interface: 0, - let: 0, - module: 0, - number: 0, - package: 0, - private: 0, - protected: 0, - public: 0, - set: 0, - static: 0, - string: 0, - get: 0, - yield: 0, - break: 0, - case: 0, - catch: 0, - class: 0, - continue: 0, - const: 0, - - debugger: 0, - declare: 0, - default: 0, - delete: 0, - do: 0, - else: 0, - enum: 0, - export: 0, - extends: 0, - false: 0, - finally: 0, - for: 0, - function: 0, - if: 0, - - import: 0, - in: 0, - instanceof: 0, - new: 0, - null: 0, - return: 0, - super: 0, - switch: 0, - this: 0, - throw: 0, - true: 0, - try: 0, - typeof: 0, - var: 0, - void: 0, - while: 0, - with: 0, - }; - - interface bigInterface { - constructor; - any; - boolean; - implements; - interface; - let; - module; - number; - package; - private; - protected; - public; - set; - static; - string; - get; - yield; - break; - case; - catch; - class; - continue; - const; - - debugger; - declare; - default; - delete; - do; - else; - enum; - export; - extends; - false; - finally; - for; - function; - if; - - import; - in; - instanceof; - new; - null; - return; - super; - switch; - this; - throw; - true; - try; - typeof; - var; - void; - while; - with; - } - - class bigClass { - public "constructor" = 0; - ~~~~~~~~~~~~~ -!!! error TS18006: Classes may not have a field named 'constructor'. - public any = 0; - public boolean = 0; - public implements = 0; - public interface = 0; - public let = 0; - public module = 0; - public number = 0; - public package = 0; - public private = 0; - public protected = 0; - public public = 0; - public set = 0; - public static = 0; - public string = 0; - public get = 0; - public yield = 0; - public break = 0; - public case = 0; - public catch = 0; - public class = 0; - public continue = 0; - public const = 0; - public debugger = 0; - public declare = 0; - public default = 0; - public delete = 0; - public do = 0; - public else = 0; - public enum = 0; - public export = 0; - public extends = 0; - public false = 0; - public finally = 0; - public for = 0; - public function = 0; - public if = 0; - public import = 0; - public in = 0; - public instanceof = 0; - public new = 0; - public null = 0; - public return = 0; - public super = 0; - public switch = 0; - public this = 0; - public throw = 0; - public true = 0; - public try = 0; - public typeof = 0; - public var = 0; - public void = 0; - public while = 0; - public with = 0; - } - - enum bigEnum { - constructor, - any, - boolean, - implements, - interface, - let, - module, - number, - package, - private, - protected, - public, - set, - static, - string, - get, - yield, - break, - case, - catch, - class, - continue, - const, - - debugger, - declare, - default, - delete, - do, - else, - enum, - export, - extends, - false, - finally, - for, - function, - if, - - import, - in, - instanceof, - new, - null, - return, - super, - switch, - this, - throw, - true, - try, - typeof, - var, - void, - while, - with, - } - - namespace bigModule { - class constructor { } - class implements { } - ~~~~~~~~~~ -!!! error TS1213: Identifier expected. 'implements' is a reserved word in strict mode. Class definitions are automatically in strict mode. - class interface { } - ~~~~~~~~~ -!!! error TS1213: Identifier expected. 'interface' is a reserved word in strict mode. Class definitions are automatically in strict mode. - class let { } - ~~~ -!!! error TS1213: Identifier expected. 'let' is a reserved word in strict mode. Class definitions are automatically in strict mode. - class module { } - class package { } - ~~~~~~~ -!!! error TS1213: Identifier expected. 'package' is a reserved word in strict mode. Class definitions are automatically in strict mode. - class private { } - ~~~~~~~ -!!! error TS1213: Identifier expected. 'private' is a reserved word in strict mode. Class definitions are automatically in strict mode. - class protected { } - ~~~~~~~~~ -!!! error TS1213: Identifier expected. 'protected' is a reserved word in strict mode. Class definitions are automatically in strict mode. - class public { } - ~~~~~~ -!!! error TS1213: Identifier expected. 'public' is a reserved word in strict mode. Class definitions are automatically in strict mode. - class set { } - class static { } - ~~~~~~ -!!! error TS1213: Identifier expected. 'static' is a reserved word in strict mode. Class definitions are automatically in strict mode. - class get { } - class yield { } - ~~~~~ -!!! error TS1213: Identifier expected. 'yield' is a reserved word in strict mode. Class definitions are automatically in strict mode. - class declare { } - } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).js b/testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).js deleted file mode 100644 index 3bead856ff5..00000000000 --- a/testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).js +++ /dev/null @@ -1,530 +0,0 @@ -//// [tests/cases/compiler/convertKeywordsYes.ts] //// - -//// [convertKeywordsYes.ts] -// reserved ES5 future in strict mode - -var constructor = 0; -var any = 0; -var boolean = 0; -var implements = 0; -var interface = 0; -var let = 0; -var module = 0; -var number = 0; -var package = 0; -var private = 0; -var protected = 0; -var public = 0; -var set = 0; -var static = 0; -var string = 0; -var get = 0; -var yield = 0; -var declare = 0; - -function bigGeneric< - constructor, - implements , - interface , - let, - module , - package, - private , - protected, - public , - set , - static , - get , - yield, - declare - >(c: constructor, - a: any, - b2: boolean, - i: implements , - i2: interface , - l: let, - m: module , - n: number, - p: package, - p2: private , - p3: protected, - p4: public , - s: set , - s2: static , - s3: string, - g: get , - y: yield, - d: declare ) { } - -var bigObject = { - constructor: 0, - any: 0, - boolean: 0, - implements: 0, - interface: 0, - let: 0, - module: 0, - number: 0, - package: 0, - private: 0, - protected: 0, - public: 0, - set: 0, - static: 0, - string: 0, - get: 0, - yield: 0, - break: 0, - case: 0, - catch: 0, - class: 0, - continue: 0, - const: 0, - - debugger: 0, - declare: 0, - default: 0, - delete: 0, - do: 0, - else: 0, - enum: 0, - export: 0, - extends: 0, - false: 0, - finally: 0, - for: 0, - function: 0, - if: 0, - - import: 0, - in: 0, - instanceof: 0, - new: 0, - null: 0, - return: 0, - super: 0, - switch: 0, - this: 0, - throw: 0, - true: 0, - try: 0, - typeof: 0, - var: 0, - void: 0, - while: 0, - with: 0, -}; - -interface bigInterface { - constructor; - any; - boolean; - implements; - interface; - let; - module; - number; - package; - private; - protected; - public; - set; - static; - string; - get; - yield; - break; - case; - catch; - class; - continue; - const; - - debugger; - declare; - default; - delete; - do; - else; - enum; - export; - extends; - false; - finally; - for; - function; - if; - - import; - in; - instanceof; - new; - null; - return; - super; - switch; - this; - throw; - true; - try; - typeof; - var; - void; - while; - with; -} - -class bigClass { - public "constructor" = 0; - public any = 0; - public boolean = 0; - public implements = 0; - public interface = 0; - public let = 0; - public module = 0; - public number = 0; - public package = 0; - public private = 0; - public protected = 0; - public public = 0; - public set = 0; - public static = 0; - public string = 0; - public get = 0; - public yield = 0; - public break = 0; - public case = 0; - public catch = 0; - public class = 0; - public continue = 0; - public const = 0; - public debugger = 0; - public declare = 0; - public default = 0; - public delete = 0; - public do = 0; - public else = 0; - public enum = 0; - public export = 0; - public extends = 0; - public false = 0; - public finally = 0; - public for = 0; - public function = 0; - public if = 0; - public import = 0; - public in = 0; - public instanceof = 0; - public new = 0; - public null = 0; - public return = 0; - public super = 0; - public switch = 0; - public this = 0; - public throw = 0; - public true = 0; - public try = 0; - public typeof = 0; - public var = 0; - public void = 0; - public while = 0; - public with = 0; -} - -enum bigEnum { - constructor, - any, - boolean, - implements, - interface, - let, - module, - number, - package, - private, - protected, - public, - set, - static, - string, - get, - yield, - break, - case, - catch, - class, - continue, - const, - - debugger, - declare, - default, - delete, - do, - else, - enum, - export, - extends, - false, - finally, - for, - function, - if, - - import, - in, - instanceof, - new, - null, - return, - super, - switch, - this, - throw, - true, - try, - typeof, - var, - void, - while, - with, -} - -namespace bigModule { - class constructor { } - class implements { } - class interface { } - class let { } - class module { } - class package { } - class private { } - class protected { } - class public { } - class set { } - class static { } - class get { } - class yield { } - class declare { } -} - -//// [convertKeywordsYes.js] -// reserved ES5 future in strict mode -var constructor = 0; -var any = 0; -var boolean = 0; -var implements = 0; -var interface = 0; -var let = 0; -var module = 0; -var number = 0; -var package = 0; -var private = 0; -var protected = 0; -var public = 0; -var set = 0; -var static = 0; -var string = 0; -var get = 0; -var yield = 0; -var declare = 0; -function bigGeneric(c, a, b2, i, i2, l, m, n, p, p2, p3, p4, s, s2, s3, g, y, d) { } -var bigObject = { - constructor: 0, - any: 0, - boolean: 0, - implements: 0, - interface: 0, - let: 0, - module: 0, - number: 0, - package: 0, - private: 0, - protected: 0, - public: 0, - set: 0, - static: 0, - string: 0, - get: 0, - yield: 0, - break: 0, - case: 0, - catch: 0, - class: 0, - continue: 0, - const: 0, - debugger: 0, - declare: 0, - default: 0, - delete: 0, - do: 0, - else: 0, - enum: 0, - export: 0, - extends: 0, - false: 0, - finally: 0, - for: 0, - function: 0, - if: 0, - import: 0, - in: 0, - instanceof: 0, - new: 0, - null: 0, - return: 0, - super: 0, - switch: 0, - this: 0, - throw: 0, - true: 0, - try: 0, - typeof: 0, - var: 0, - void: 0, - while: 0, - with: 0, -}; -class bigClass { - "constructor" = 0; - any = 0; - boolean = 0; - implements = 0; - interface = 0; - let = 0; - module = 0; - number = 0; - package = 0; - private = 0; - protected = 0; - public = 0; - set = 0; - static = 0; - string = 0; - get = 0; - yield = 0; - break = 0; - case = 0; - catch = 0; - class = 0; - continue = 0; - const = 0; - debugger = 0; - declare = 0; - default = 0; - delete = 0; - do = 0; - else = 0; - enum = 0; - export = 0; - extends = 0; - false = 0; - finally = 0; - for = 0; - function = 0; - if = 0; - import = 0; - in = 0; - instanceof = 0; - new = 0; - null = 0; - return = 0; - super = 0; - switch = 0; - this = 0; - throw = 0; - true = 0; - try = 0; - typeof = 0; - var = 0; - void = 0; - while = 0; - with = 0; -} -var bigEnum; -(function (bigEnum) { - bigEnum[bigEnum["constructor"] = 0] = "constructor"; - bigEnum[bigEnum["any"] = 1] = "any"; - bigEnum[bigEnum["boolean"] = 2] = "boolean"; - bigEnum[bigEnum["implements"] = 3] = "implements"; - bigEnum[bigEnum["interface"] = 4] = "interface"; - bigEnum[bigEnum["let"] = 5] = "let"; - bigEnum[bigEnum["module"] = 6] = "module"; - bigEnum[bigEnum["number"] = 7] = "number"; - bigEnum[bigEnum["package"] = 8] = "package"; - bigEnum[bigEnum["private"] = 9] = "private"; - bigEnum[bigEnum["protected"] = 10] = "protected"; - bigEnum[bigEnum["public"] = 11] = "public"; - bigEnum[bigEnum["set"] = 12] = "set"; - bigEnum[bigEnum["static"] = 13] = "static"; - bigEnum[bigEnum["string"] = 14] = "string"; - bigEnum[bigEnum["get"] = 15] = "get"; - bigEnum[bigEnum["yield"] = 16] = "yield"; - bigEnum[bigEnum["break"] = 17] = "break"; - bigEnum[bigEnum["case"] = 18] = "case"; - bigEnum[bigEnum["catch"] = 19] = "catch"; - bigEnum[bigEnum["class"] = 20] = "class"; - bigEnum[bigEnum["continue"] = 21] = "continue"; - bigEnum[bigEnum["const"] = 22] = "const"; - bigEnum[bigEnum["debugger"] = 23] = "debugger"; - bigEnum[bigEnum["declare"] = 24] = "declare"; - bigEnum[bigEnum["default"] = 25] = "default"; - bigEnum[bigEnum["delete"] = 26] = "delete"; - bigEnum[bigEnum["do"] = 27] = "do"; - bigEnum[bigEnum["else"] = 28] = "else"; - bigEnum[bigEnum["enum"] = 29] = "enum"; - bigEnum[bigEnum["export"] = 30] = "export"; - bigEnum[bigEnum["extends"] = 31] = "extends"; - bigEnum[bigEnum["false"] = 32] = "false"; - bigEnum[bigEnum["finally"] = 33] = "finally"; - bigEnum[bigEnum["for"] = 34] = "for"; - bigEnum[bigEnum["function"] = 35] = "function"; - bigEnum[bigEnum["if"] = 36] = "if"; - bigEnum[bigEnum["import"] = 37] = "import"; - bigEnum[bigEnum["in"] = 38] = "in"; - bigEnum[bigEnum["instanceof"] = 39] = "instanceof"; - bigEnum[bigEnum["new"] = 40] = "new"; - bigEnum[bigEnum["null"] = 41] = "null"; - bigEnum[bigEnum["return"] = 42] = "return"; - bigEnum[bigEnum["super"] = 43] = "super"; - bigEnum[bigEnum["switch"] = 44] = "switch"; - bigEnum[bigEnum["this"] = 45] = "this"; - bigEnum[bigEnum["throw"] = 46] = "throw"; - bigEnum[bigEnum["true"] = 47] = "true"; - bigEnum[bigEnum["try"] = 48] = "try"; - bigEnum[bigEnum["typeof"] = 49] = "typeof"; - bigEnum[bigEnum["var"] = 50] = "var"; - bigEnum[bigEnum["void"] = 51] = "void"; - bigEnum[bigEnum["while"] = 52] = "while"; - bigEnum[bigEnum["with"] = 53] = "with"; -})(bigEnum || (bigEnum = {})); -var bigModule; -(function (bigModule) { - class constructor { - } - class implements { - } - class interface { - } - class let { - } - class module { - } - class package { - } - class private { - } - class protected { - } - class public { - } - class set { - } - class static { - } - class get { - } - class yield { - } - class declare { - } -})(bigModule || (bigModule = {})); diff --git a/testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).js.diff deleted file mode 100644 index 11e707f1d59..00000000000 --- a/testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).js.diff +++ /dev/null @@ -1,119 +0,0 @@ ---- old.convertKeywordsYes(alwaysstrict=false).js -+++ new.convertKeywordsYes(alwaysstrict=false).js -@@= skipped -384, +384 lines =@@ - with: 0, - }; - class bigClass { -- constructor() { -- this["constructor"] = 0; -- this.any = 0; -- this.boolean = 0; -- this.implements = 0; -- this.interface = 0; -- this.let = 0; -- this.module = 0; -- this.number = 0; -- this.package = 0; -- this.private = 0; -- this.protected = 0; -- this.public = 0; -- this.set = 0; -- this.static = 0; -- this.string = 0; -- this.get = 0; -- this.yield = 0; -- this.break = 0; -- this.case = 0; -- this.catch = 0; -- this.class = 0; -- this.continue = 0; -- this.const = 0; -- this.debugger = 0; -- this.declare = 0; -- this.default = 0; -- this.delete = 0; -- this.do = 0; -- this.else = 0; -- this.enum = 0; -- this.export = 0; -- this.extends = 0; -- this.false = 0; -- this.finally = 0; -- this.for = 0; -- this.function = 0; -- this.if = 0; -- this.import = 0; -- this.in = 0; -- this.instanceof = 0; -- this.new = 0; -- this.null = 0; -- this.return = 0; -- this.super = 0; -- this.switch = 0; -- this.this = 0; -- this.throw = 0; -- this.true = 0; -- this.try = 0; -- this.typeof = 0; -- this.var = 0; -- this.void = 0; -- this.while = 0; -- this.with = 0; -- } -+ "constructor" = 0; -+ any = 0; -+ boolean = 0; -+ implements = 0; -+ interface = 0; -+ let = 0; -+ module = 0; -+ number = 0; -+ package = 0; -+ private = 0; -+ protected = 0; -+ public = 0; -+ set = 0; -+ static = 0; -+ string = 0; -+ get = 0; -+ yield = 0; -+ break = 0; -+ case = 0; -+ catch = 0; -+ class = 0; -+ continue = 0; -+ const = 0; -+ debugger = 0; -+ declare = 0; -+ default = 0; -+ delete = 0; -+ do = 0; -+ else = 0; -+ enum = 0; -+ export = 0; -+ extends = 0; -+ false = 0; -+ finally = 0; -+ for = 0; -+ function = 0; -+ if = 0; -+ import = 0; -+ in = 0; -+ instanceof = 0; -+ new = 0; -+ null = 0; -+ return = 0; -+ super = 0; -+ switch = 0; -+ this = 0; -+ throw = 0; -+ true = 0; -+ try = 0; -+ typeof = 0; -+ var = 0; -+ void = 0; -+ while = 0; -+ with = 0; - } - var bigEnum; - (function (bigEnum) { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).symbols deleted file mode 100644 index 62d0a7f5df6..00000000000 --- a/testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).symbols +++ /dev/null @@ -1,882 +0,0 @@ -//// [tests/cases/compiler/convertKeywordsYes.ts] //// - -=== convertKeywordsYes.ts === -// reserved ES5 future in strict mode - -var constructor = 0; ->constructor : Symbol(constructor, Decl(convertKeywordsYes.ts, 2, 3)) - -var any = 0; ->any : Symbol(any, Decl(convertKeywordsYes.ts, 3, 3)) - -var boolean = 0; ->boolean : Symbol(boolean, Decl(convertKeywordsYes.ts, 4, 3)) - -var implements = 0; ->implements : Symbol(implements, Decl(convertKeywordsYes.ts, 5, 3)) - -var interface = 0; ->interface : Symbol(interface, Decl(convertKeywordsYes.ts, 6, 3)) - -var let = 0; ->let : Symbol(let, Decl(convertKeywordsYes.ts, 7, 3)) - -var module = 0; ->module : Symbol(module, Decl(convertKeywordsYes.ts, 8, 3)) - -var number = 0; ->number : Symbol(number, Decl(convertKeywordsYes.ts, 9, 3)) - -var package = 0; ->package : Symbol(package, Decl(convertKeywordsYes.ts, 10, 3)) - -var private = 0; ->private : Symbol(private, Decl(convertKeywordsYes.ts, 11, 3)) - -var protected = 0; ->protected : Symbol(protected, Decl(convertKeywordsYes.ts, 12, 3)) - -var public = 0; ->public : Symbol(public, Decl(convertKeywordsYes.ts, 13, 3)) - -var set = 0; ->set : Symbol(set, Decl(convertKeywordsYes.ts, 14, 3)) - -var static = 0; ->static : Symbol(static, Decl(convertKeywordsYes.ts, 15, 3)) - -var string = 0; ->string : Symbol(string, Decl(convertKeywordsYes.ts, 16, 3)) - -var get = 0; ->get : Symbol(get, Decl(convertKeywordsYes.ts, 17, 3)) - -var yield = 0; ->yield : Symbol(yield, Decl(convertKeywordsYes.ts, 18, 3)) - -var declare = 0; ->declare : Symbol(declare, Decl(convertKeywordsYes.ts, 19, 3)) - -function bigGeneric< ->bigGeneric : Symbol(bigGeneric, Decl(convertKeywordsYes.ts, 19, 16)) - - constructor, ->constructor : Symbol(constructor, Decl(convertKeywordsYes.ts, 21, 20)) - - implements , ->implements : Symbol(implements, Decl(convertKeywordsYes.ts, 22, 16)) - - interface , ->interface : Symbol(interface, Decl(convertKeywordsYes.ts, 23, 16)) - - let, ->let : Symbol(let, Decl(convertKeywordsYes.ts, 24, 15)) - - module , ->module : Symbol(module, Decl(convertKeywordsYes.ts, 25, 8)) - - package, ->package : Symbol(package, Decl(convertKeywordsYes.ts, 26, 12)) - - private , ->private : Symbol(private, Decl(convertKeywordsYes.ts, 27, 12)) - - protected, ->protected : Symbol(protected, Decl(convertKeywordsYes.ts, 28, 13)) - - public , ->public : Symbol(public, Decl(convertKeywordsYes.ts, 29, 14)) - - set , ->set : Symbol(set, Decl(convertKeywordsYes.ts, 30, 12)) - - static , ->static : Symbol(static, Decl(convertKeywordsYes.ts, 31, 9)) - - get , ->get : Symbol(get, Decl(convertKeywordsYes.ts, 32, 12)) - - yield, ->yield : Symbol(yield, Decl(convertKeywordsYes.ts, 33, 9)) - - declare ->declare : Symbol(declare, Decl(convertKeywordsYes.ts, 34, 10)) - - >(c: constructor, ->c : Symbol(c, Decl(convertKeywordsYes.ts, 36, 6)) ->constructor : Symbol(constructor, Decl(convertKeywordsYes.ts, 21, 20)) - - a: any, ->a : Symbol(a, Decl(convertKeywordsYes.ts, 36, 21)) - - b2: boolean, ->b2 : Symbol(b2, Decl(convertKeywordsYes.ts, 37, 11)) - - i: implements , ->i : Symbol(i, Decl(convertKeywordsYes.ts, 38, 16)) ->implements : Symbol(implements, Decl(convertKeywordsYes.ts, 22, 16)) - - i2: interface , ->i2 : Symbol(i2, Decl(convertKeywordsYes.ts, 39, 19)) ->interface : Symbol(interface, Decl(convertKeywordsYes.ts, 23, 16)) - - l: let, ->l : Symbol(l, Decl(convertKeywordsYes.ts, 40, 19)) ->let : Symbol(let, Decl(convertKeywordsYes.ts, 24, 15)) - - m: module , ->m : Symbol(m, Decl(convertKeywordsYes.ts, 41, 11)) ->module : Symbol(module, Decl(convertKeywordsYes.ts, 25, 8)) - - n: number, ->n : Symbol(n, Decl(convertKeywordsYes.ts, 42, 15)) - - p: package, ->p : Symbol(p, Decl(convertKeywordsYes.ts, 43, 14)) ->package : Symbol(package, Decl(convertKeywordsYes.ts, 26, 12)) - - p2: private , ->p2 : Symbol(p2, Decl(convertKeywordsYes.ts, 44, 15)) ->private : Symbol(private, Decl(convertKeywordsYes.ts, 27, 12)) - - p3: protected, ->p3 : Symbol(p3, Decl(convertKeywordsYes.ts, 45, 17)) ->protected : Symbol(protected, Decl(convertKeywordsYes.ts, 28, 13)) - - p4: public , ->p4 : Symbol(p4, Decl(convertKeywordsYes.ts, 46, 18)) ->public : Symbol(public, Decl(convertKeywordsYes.ts, 29, 14)) - - s: set , ->s : Symbol(s, Decl(convertKeywordsYes.ts, 47, 16)) ->set : Symbol(set, Decl(convertKeywordsYes.ts, 30, 12)) - - s2: static , ->s2 : Symbol(s2, Decl(convertKeywordsYes.ts, 48, 12)) ->static : Symbol(static, Decl(convertKeywordsYes.ts, 31, 9)) - - s3: string, ->s3 : Symbol(s3, Decl(convertKeywordsYes.ts, 49, 16)) - - g: get , ->g : Symbol(g, Decl(convertKeywordsYes.ts, 50, 15)) ->get : Symbol(get, Decl(convertKeywordsYes.ts, 32, 12)) - - y: yield, ->y : Symbol(y, Decl(convertKeywordsYes.ts, 51, 12)) ->yield : Symbol(yield, Decl(convertKeywordsYes.ts, 33, 9)) - - d: declare ) { } ->d : Symbol(d, Decl(convertKeywordsYes.ts, 52, 13)) ->declare : Symbol(declare, Decl(convertKeywordsYes.ts, 34, 10)) - -var bigObject = { ->bigObject : Symbol(bigObject, Decl(convertKeywordsYes.ts, 55, 3)) - - constructor: 0, ->constructor : Symbol(constructor, Decl(convertKeywordsYes.ts, 55, 17)) - - any: 0, ->any : Symbol(any, Decl(convertKeywordsYes.ts, 56, 19)) - - boolean: 0, ->boolean : Symbol(boolean, Decl(convertKeywordsYes.ts, 57, 11)) - - implements: 0, ->implements : Symbol(implements, Decl(convertKeywordsYes.ts, 58, 15)) - - interface: 0, ->interface : Symbol(interface, Decl(convertKeywordsYes.ts, 59, 18)) - - let: 0, ->let : Symbol(let, Decl(convertKeywordsYes.ts, 60, 17)) - - module: 0, ->module : Symbol(module, Decl(convertKeywordsYes.ts, 61, 11)) - - number: 0, ->number : Symbol(number, Decl(convertKeywordsYes.ts, 62, 14)) - - package: 0, ->package : Symbol(package, Decl(convertKeywordsYes.ts, 63, 14)) - - private: 0, ->private : Symbol(private, Decl(convertKeywordsYes.ts, 64, 15)) - - protected: 0, ->protected : Symbol(protected, Decl(convertKeywordsYes.ts, 65, 15)) - - public: 0, ->public : Symbol(public, Decl(convertKeywordsYes.ts, 66, 17)) - - set: 0, ->set : Symbol(set, Decl(convertKeywordsYes.ts, 67, 14)) - - static: 0, ->static : Symbol(static, Decl(convertKeywordsYes.ts, 68, 11)) - - string: 0, ->string : Symbol(string, Decl(convertKeywordsYes.ts, 69, 14)) - - get: 0, ->get : Symbol(get, Decl(convertKeywordsYes.ts, 70, 14)) - - yield: 0, ->yield : Symbol(yield, Decl(convertKeywordsYes.ts, 71, 11)) - - break: 0, ->break : Symbol(break, Decl(convertKeywordsYes.ts, 72, 13)) - - case: 0, ->case : Symbol(case, Decl(convertKeywordsYes.ts, 73, 13)) - - catch: 0, ->catch : Symbol(catch, Decl(convertKeywordsYes.ts, 74, 12)) - - class: 0, ->class : Symbol(class, Decl(convertKeywordsYes.ts, 75, 13)) - - continue: 0, ->continue : Symbol(continue, Decl(convertKeywordsYes.ts, 76, 13)) - - const: 0, ->const : Symbol(const, Decl(convertKeywordsYes.ts, 77, 16)) - - debugger: 0, ->debugger : Symbol(debugger, Decl(convertKeywordsYes.ts, 78, 13)) - - declare: 0, ->declare : Symbol(declare, Decl(convertKeywordsYes.ts, 80, 16)) - - default: 0, ->default : Symbol(default, Decl(convertKeywordsYes.ts, 81, 15)) - - delete: 0, ->delete : Symbol(delete, Decl(convertKeywordsYes.ts, 82, 15)) - - do: 0, ->do : Symbol(do, Decl(convertKeywordsYes.ts, 83, 14)) - - else: 0, ->else : Symbol(else, Decl(convertKeywordsYes.ts, 84, 10)) - - enum: 0, ->enum : Symbol(enum, Decl(convertKeywordsYes.ts, 85, 12)) - - export: 0, ->export : Symbol(export, Decl(convertKeywordsYes.ts, 86, 12)) - - extends: 0, ->extends : Symbol(extends, Decl(convertKeywordsYes.ts, 87, 14)) - - false: 0, ->false : Symbol(false, Decl(convertKeywordsYes.ts, 88, 15)) - - finally: 0, ->finally : Symbol(finally, Decl(convertKeywordsYes.ts, 89, 13)) - - for: 0, ->for : Symbol(for, Decl(convertKeywordsYes.ts, 90, 15)) - - function: 0, ->function : Symbol(function, Decl(convertKeywordsYes.ts, 91, 11)) - - if: 0, ->if : Symbol(if, Decl(convertKeywordsYes.ts, 92, 16)) - - import: 0, ->import : Symbol(import, Decl(convertKeywordsYes.ts, 93, 10)) - - in: 0, ->in : Symbol(in, Decl(convertKeywordsYes.ts, 95, 14)) - - instanceof: 0, ->instanceof : Symbol(instanceof, Decl(convertKeywordsYes.ts, 96, 10)) - - new: 0, ->new : Symbol(new, Decl(convertKeywordsYes.ts, 97, 18)) - - null: 0, ->null : Symbol(null, Decl(convertKeywordsYes.ts, 98, 11)) - - return: 0, ->return : Symbol(return, Decl(convertKeywordsYes.ts, 99, 12)) - - super: 0, ->super : Symbol(super, Decl(convertKeywordsYes.ts, 100, 14)) - - switch: 0, ->switch : Symbol(switch, Decl(convertKeywordsYes.ts, 101, 13)) - - this: 0, ->this : Symbol(this, Decl(convertKeywordsYes.ts, 102, 14)) - - throw: 0, ->throw : Symbol(throw, Decl(convertKeywordsYes.ts, 103, 12)) - - true: 0, ->true : Symbol(true, Decl(convertKeywordsYes.ts, 104, 13)) - - try: 0, ->try : Symbol(try, Decl(convertKeywordsYes.ts, 105, 12)) - - typeof: 0, ->typeof : Symbol(typeof, Decl(convertKeywordsYes.ts, 106, 11)) - - var: 0, ->var : Symbol(var, Decl(convertKeywordsYes.ts, 107, 14)) - - void: 0, ->void : Symbol(void, Decl(convertKeywordsYes.ts, 108, 11)) - - while: 0, ->while : Symbol(while, Decl(convertKeywordsYes.ts, 109, 12)) - - with: 0, ->with : Symbol(with, Decl(convertKeywordsYes.ts, 110, 13)) - -}; - -interface bigInterface { ->bigInterface : Symbol(bigInterface, Decl(convertKeywordsYes.ts, 112, 2)) - - constructor; ->constructor : Symbol(bigInterface.constructor, Decl(convertKeywordsYes.ts, 114, 24)) - - any; ->any : Symbol(bigInterface.any, Decl(convertKeywordsYes.ts, 115, 16)) - - boolean; ->boolean : Symbol(bigInterface.boolean, Decl(convertKeywordsYes.ts, 116, 8)) - - implements; ->implements : Symbol(bigInterface.implements, Decl(convertKeywordsYes.ts, 117, 12)) - - interface; ->interface : Symbol(bigInterface.interface, Decl(convertKeywordsYes.ts, 118, 15)) - - let; ->let : Symbol(bigInterface.let, Decl(convertKeywordsYes.ts, 119, 14)) - - module; ->module : Symbol(bigInterface.module, Decl(convertKeywordsYes.ts, 120, 8)) - - number; ->number : Symbol(bigInterface.number, Decl(convertKeywordsYes.ts, 121, 11)) - - package; ->package : Symbol(bigInterface.package, Decl(convertKeywordsYes.ts, 122, 11)) - - private; ->private : Symbol(bigInterface.private, Decl(convertKeywordsYes.ts, 123, 12)) - - protected; ->protected : Symbol(bigInterface.protected, Decl(convertKeywordsYes.ts, 124, 12)) - - public; ->public : Symbol(bigInterface.public, Decl(convertKeywordsYes.ts, 125, 14)) - - set; ->set : Symbol(bigInterface.set, Decl(convertKeywordsYes.ts, 126, 11)) - - static; ->static : Symbol(bigInterface.static, Decl(convertKeywordsYes.ts, 127, 8)) - - string; ->string : Symbol(bigInterface.string, Decl(convertKeywordsYes.ts, 128, 11)) - - get; ->get : Symbol(bigInterface.get, Decl(convertKeywordsYes.ts, 129, 11)) - - yield; ->yield : Symbol(bigInterface.yield, Decl(convertKeywordsYes.ts, 130, 8)) - - break; ->break : Symbol(bigInterface.break, Decl(convertKeywordsYes.ts, 131, 10)) - - case; ->case : Symbol(bigInterface.case, Decl(convertKeywordsYes.ts, 132, 10)) - - catch; ->catch : Symbol(bigInterface.catch, Decl(convertKeywordsYes.ts, 133, 9)) - - class; ->class : Symbol(bigInterface.class, Decl(convertKeywordsYes.ts, 134, 10)) - - continue; ->continue : Symbol(bigInterface.continue, Decl(convertKeywordsYes.ts, 135, 10)) - - const; ->const : Symbol(bigInterface.const, Decl(convertKeywordsYes.ts, 136, 13)) - - debugger; ->debugger : Symbol(bigInterface.debugger, Decl(convertKeywordsYes.ts, 137, 10)) - - declare; ->declare : Symbol(bigInterface.declare, Decl(convertKeywordsYes.ts, 139, 13)) - - default; ->default : Symbol(bigInterface.default, Decl(convertKeywordsYes.ts, 140, 12)) - - delete; ->delete : Symbol(bigInterface.delete, Decl(convertKeywordsYes.ts, 141, 12)) - - do; ->do : Symbol(bigInterface.do, Decl(convertKeywordsYes.ts, 142, 11)) - - else; ->else : Symbol(bigInterface.else, Decl(convertKeywordsYes.ts, 143, 7)) - - enum; ->enum : Symbol(bigInterface.enum, Decl(convertKeywordsYes.ts, 144, 9)) - - export; ->export : Symbol(bigInterface.export, Decl(convertKeywordsYes.ts, 145, 9)) - - extends; ->extends : Symbol(bigInterface.extends, Decl(convertKeywordsYes.ts, 146, 11)) - - false; ->false : Symbol(bigInterface.false, Decl(convertKeywordsYes.ts, 147, 12)) - - finally; ->finally : Symbol(bigInterface.finally, Decl(convertKeywordsYes.ts, 148, 10)) - - for; ->for : Symbol(bigInterface.for, Decl(convertKeywordsYes.ts, 149, 12)) - - function; ->function : Symbol(bigInterface.function, Decl(convertKeywordsYes.ts, 150, 8)) - - if; ->if : Symbol(bigInterface.if, Decl(convertKeywordsYes.ts, 151, 13)) - - import; ->import : Symbol(bigInterface.import, Decl(convertKeywordsYes.ts, 152, 7)) - - in; ->in : Symbol(bigInterface.in, Decl(convertKeywordsYes.ts, 154, 11)) - - instanceof; ->instanceof : Symbol(bigInterface.instanceof, Decl(convertKeywordsYes.ts, 155, 7)) - - new; ->new : Symbol(bigInterface.new, Decl(convertKeywordsYes.ts, 156, 15)) - - null; ->null : Symbol(bigInterface.null, Decl(convertKeywordsYes.ts, 157, 8)) - - return; ->return : Symbol(bigInterface.return, Decl(convertKeywordsYes.ts, 158, 9)) - - super; ->super : Symbol(bigInterface.super, Decl(convertKeywordsYes.ts, 159, 11)) - - switch; ->switch : Symbol(bigInterface.switch, Decl(convertKeywordsYes.ts, 160, 10)) - - this; ->this : Symbol(bigInterface.this, Decl(convertKeywordsYes.ts, 161, 11)) - - throw; ->throw : Symbol(bigInterface.throw, Decl(convertKeywordsYes.ts, 162, 9)) - - true; ->true : Symbol(bigInterface.true, Decl(convertKeywordsYes.ts, 163, 10)) - - try; ->try : Symbol(bigInterface.try, Decl(convertKeywordsYes.ts, 164, 9)) - - typeof; ->typeof : Symbol(bigInterface.typeof, Decl(convertKeywordsYes.ts, 165, 8)) - - var; ->var : Symbol(bigInterface.var, Decl(convertKeywordsYes.ts, 166, 11)) - - void; ->void : Symbol(bigInterface.void, Decl(convertKeywordsYes.ts, 167, 8)) - - while; ->while : Symbol(bigInterface.while, Decl(convertKeywordsYes.ts, 168, 9)) - - with; ->with : Symbol(bigInterface.with, Decl(convertKeywordsYes.ts, 169, 10)) -} - -class bigClass { ->bigClass : Symbol(bigClass, Decl(convertKeywordsYes.ts, 171, 1)) - - public "constructor" = 0; ->"constructor" : Symbol(bigClass["constructor"], Decl(convertKeywordsYes.ts, 173, 16)) - - public any = 0; ->any : Symbol(bigClass.any, Decl(convertKeywordsYes.ts, 174, 29)) - - public boolean = 0; ->boolean : Symbol(bigClass.boolean, Decl(convertKeywordsYes.ts, 175, 19)) - - public implements = 0; ->implements : Symbol(bigClass.implements, Decl(convertKeywordsYes.ts, 176, 23)) - - public interface = 0; ->interface : Symbol(bigClass.interface, Decl(convertKeywordsYes.ts, 177, 26)) - - public let = 0; ->let : Symbol(bigClass.let, Decl(convertKeywordsYes.ts, 178, 25)) - - public module = 0; ->module : Symbol(bigClass.module, Decl(convertKeywordsYes.ts, 179, 19)) - - public number = 0; ->number : Symbol(bigClass.number, Decl(convertKeywordsYes.ts, 180, 22)) - - public package = 0; ->package : Symbol(bigClass.package, Decl(convertKeywordsYes.ts, 181, 22)) - - public private = 0; ->private : Symbol(bigClass.private, Decl(convertKeywordsYes.ts, 182, 23)) - - public protected = 0; ->protected : Symbol(bigClass.protected, Decl(convertKeywordsYes.ts, 183, 23)) - - public public = 0; ->public : Symbol(bigClass.public, Decl(convertKeywordsYes.ts, 184, 25)) - - public set = 0; ->set : Symbol(bigClass.set, Decl(convertKeywordsYes.ts, 185, 22)) - - public static = 0; ->static : Symbol(bigClass.static, Decl(convertKeywordsYes.ts, 186, 19)) - - public string = 0; ->string : Symbol(bigClass.string, Decl(convertKeywordsYes.ts, 187, 22)) - - public get = 0; ->get : Symbol(bigClass.get, Decl(convertKeywordsYes.ts, 188, 22)) - - public yield = 0; ->yield : Symbol(bigClass.yield, Decl(convertKeywordsYes.ts, 189, 19)) - - public break = 0; ->break : Symbol(bigClass.break, Decl(convertKeywordsYes.ts, 190, 21)) - - public case = 0; ->case : Symbol(bigClass.case, Decl(convertKeywordsYes.ts, 191, 21)) - - public catch = 0; ->catch : Symbol(bigClass.catch, Decl(convertKeywordsYes.ts, 192, 20)) - - public class = 0; ->class : Symbol(bigClass.class, Decl(convertKeywordsYes.ts, 193, 21)) - - public continue = 0; ->continue : Symbol(bigClass.continue, Decl(convertKeywordsYes.ts, 194, 21)) - - public const = 0; ->const : Symbol(bigClass.const, Decl(convertKeywordsYes.ts, 195, 24)) - - public debugger = 0; ->debugger : Symbol(bigClass.debugger, Decl(convertKeywordsYes.ts, 196, 21)) - - public declare = 0; ->declare : Symbol(bigClass.declare, Decl(convertKeywordsYes.ts, 197, 24)) - - public default = 0; ->default : Symbol(bigClass.default, Decl(convertKeywordsYes.ts, 198, 23)) - - public delete = 0; ->delete : Symbol(bigClass.delete, Decl(convertKeywordsYes.ts, 199, 23)) - - public do = 0; ->do : Symbol(bigClass.do, Decl(convertKeywordsYes.ts, 200, 22)) - - public else = 0; ->else : Symbol(bigClass.else, Decl(convertKeywordsYes.ts, 201, 18)) - - public enum = 0; ->enum : Symbol(bigClass.enum, Decl(convertKeywordsYes.ts, 202, 20)) - - public export = 0; ->export : Symbol(bigClass.export, Decl(convertKeywordsYes.ts, 203, 20)) - - public extends = 0; ->extends : Symbol(bigClass.extends, Decl(convertKeywordsYes.ts, 204, 22)) - - public false = 0; ->false : Symbol(bigClass.false, Decl(convertKeywordsYes.ts, 205, 23)) - - public finally = 0; ->finally : Symbol(bigClass.finally, Decl(convertKeywordsYes.ts, 206, 21)) - - public for = 0; ->for : Symbol(bigClass.for, Decl(convertKeywordsYes.ts, 207, 23)) - - public function = 0; ->function : Symbol(bigClass.function, Decl(convertKeywordsYes.ts, 208, 19)) - - public if = 0; ->if : Symbol(bigClass.if, Decl(convertKeywordsYes.ts, 209, 24)) - - public import = 0; ->import : Symbol(bigClass.import, Decl(convertKeywordsYes.ts, 210, 18)) - - public in = 0; ->in : Symbol(bigClass.in, Decl(convertKeywordsYes.ts, 211, 22)) - - public instanceof = 0; ->instanceof : Symbol(bigClass.instanceof, Decl(convertKeywordsYes.ts, 212, 18)) - - public new = 0; ->new : Symbol(bigClass.new, Decl(convertKeywordsYes.ts, 213, 26)) - - public null = 0; ->null : Symbol(bigClass.null, Decl(convertKeywordsYes.ts, 214, 19)) - - public return = 0; ->return : Symbol(bigClass.return, Decl(convertKeywordsYes.ts, 215, 20)) - - public super = 0; ->super : Symbol(bigClass.super, Decl(convertKeywordsYes.ts, 216, 22)) - - public switch = 0; ->switch : Symbol(bigClass.switch, Decl(convertKeywordsYes.ts, 217, 21)) - - public this = 0; ->this : Symbol(bigClass.this, Decl(convertKeywordsYes.ts, 218, 22)) - - public throw = 0; ->throw : Symbol(bigClass.throw, Decl(convertKeywordsYes.ts, 219, 20)) - - public true = 0; ->true : Symbol(bigClass.true, Decl(convertKeywordsYes.ts, 220, 21)) - - public try = 0; ->try : Symbol(bigClass.try, Decl(convertKeywordsYes.ts, 221, 20)) - - public typeof = 0; ->typeof : Symbol(bigClass.typeof, Decl(convertKeywordsYes.ts, 222, 19)) - - public var = 0; ->var : Symbol(bigClass.var, Decl(convertKeywordsYes.ts, 223, 22)) - - public void = 0; ->void : Symbol(bigClass.void, Decl(convertKeywordsYes.ts, 224, 19)) - - public while = 0; ->while : Symbol(bigClass.while, Decl(convertKeywordsYes.ts, 225, 20)) - - public with = 0; ->with : Symbol(bigClass.with, Decl(convertKeywordsYes.ts, 226, 21)) -} - -enum bigEnum { ->bigEnum : Symbol(bigEnum, Decl(convertKeywordsYes.ts, 228, 1)) - - constructor, ->constructor : Symbol(bigEnum.constructor, Decl(convertKeywordsYes.ts, 230, 14)) - - any, ->any : Symbol(bigEnum.any, Decl(convertKeywordsYes.ts, 231, 16)) - - boolean, ->boolean : Symbol(bigEnum.boolean, Decl(convertKeywordsYes.ts, 232, 8)) - - implements, ->implements : Symbol(bigEnum.implements, Decl(convertKeywordsYes.ts, 233, 12)) - - interface, ->interface : Symbol(bigEnum.interface, Decl(convertKeywordsYes.ts, 234, 15)) - - let, ->let : Symbol(bigEnum.let, Decl(convertKeywordsYes.ts, 235, 14)) - - module, ->module : Symbol(bigEnum.module, Decl(convertKeywordsYes.ts, 236, 8)) - - number, ->number : Symbol(bigEnum.number, Decl(convertKeywordsYes.ts, 237, 11)) - - package, ->package : Symbol(bigEnum.package, Decl(convertKeywordsYes.ts, 238, 11)) - - private, ->private : Symbol(bigEnum.private, Decl(convertKeywordsYes.ts, 239, 12)) - - protected, ->protected : Symbol(bigEnum.protected, Decl(convertKeywordsYes.ts, 240, 12)) - - public, ->public : Symbol(bigEnum.public, Decl(convertKeywordsYes.ts, 241, 14)) - - set, ->set : Symbol(bigEnum.set, Decl(convertKeywordsYes.ts, 242, 11)) - - static, ->static : Symbol(bigEnum.static, Decl(convertKeywordsYes.ts, 243, 8)) - - string, ->string : Symbol(bigEnum.string, Decl(convertKeywordsYes.ts, 244, 11)) - - get, ->get : Symbol(bigEnum.get, Decl(convertKeywordsYes.ts, 245, 11)) - - yield, ->yield : Symbol(bigEnum.yield, Decl(convertKeywordsYes.ts, 246, 8)) - - break, ->break : Symbol(bigEnum.break, Decl(convertKeywordsYes.ts, 247, 10)) - - case, ->case : Symbol(bigEnum.case, Decl(convertKeywordsYes.ts, 248, 10)) - - catch, ->catch : Symbol(bigEnum.catch, Decl(convertKeywordsYes.ts, 249, 9)) - - class, ->class : Symbol(bigEnum.class, Decl(convertKeywordsYes.ts, 250, 10)) - - continue, ->continue : Symbol(bigEnum.continue, Decl(convertKeywordsYes.ts, 251, 10)) - - const, ->const : Symbol(bigEnum.const, Decl(convertKeywordsYes.ts, 252, 13)) - - debugger, ->debugger : Symbol(bigEnum.debugger, Decl(convertKeywordsYes.ts, 253, 10)) - - declare, ->declare : Symbol(bigEnum.declare, Decl(convertKeywordsYes.ts, 255, 13)) - - default, ->default : Symbol(bigEnum.default, Decl(convertKeywordsYes.ts, 256, 12)) - - delete, ->delete : Symbol(bigEnum.delete, Decl(convertKeywordsYes.ts, 257, 12)) - - do, ->do : Symbol(bigEnum.do, Decl(convertKeywordsYes.ts, 258, 11)) - - else, ->else : Symbol(bigEnum.else, Decl(convertKeywordsYes.ts, 259, 7)) - - enum, ->enum : Symbol(bigEnum.enum, Decl(convertKeywordsYes.ts, 260, 9)) - - export, ->export : Symbol(bigEnum.export, Decl(convertKeywordsYes.ts, 261, 9)) - - extends, ->extends : Symbol(bigEnum.extends, Decl(convertKeywordsYes.ts, 262, 11)) - - false, ->false : Symbol(bigEnum.false, Decl(convertKeywordsYes.ts, 263, 12)) - - finally, ->finally : Symbol(bigEnum.finally, Decl(convertKeywordsYes.ts, 264, 10)) - - for, ->for : Symbol(bigEnum.for, Decl(convertKeywordsYes.ts, 265, 12)) - - function, ->function : Symbol(bigEnum.function, Decl(convertKeywordsYes.ts, 266, 8)) - - if, ->if : Symbol(bigEnum.if, Decl(convertKeywordsYes.ts, 267, 13)) - - import, ->import : Symbol(bigEnum.import, Decl(convertKeywordsYes.ts, 268, 7)) - - in, ->in : Symbol(bigEnum.in, Decl(convertKeywordsYes.ts, 270, 11)) - - instanceof, ->instanceof : Symbol(bigEnum.instanceof, Decl(convertKeywordsYes.ts, 271, 7)) - - new, ->new : Symbol(bigEnum.new, Decl(convertKeywordsYes.ts, 272, 15)) - - null, ->null : Symbol(bigEnum.null, Decl(convertKeywordsYes.ts, 273, 8)) - - return, ->return : Symbol(bigEnum.return, Decl(convertKeywordsYes.ts, 274, 9)) - - super, ->super : Symbol(bigEnum.super, Decl(convertKeywordsYes.ts, 275, 11)) - - switch, ->switch : Symbol(bigEnum.switch, Decl(convertKeywordsYes.ts, 276, 10)) - - this, ->this : Symbol(bigEnum.this, Decl(convertKeywordsYes.ts, 277, 11)) - - throw, ->throw : Symbol(bigEnum.throw, Decl(convertKeywordsYes.ts, 278, 9)) - - true, ->true : Symbol(bigEnum.true, Decl(convertKeywordsYes.ts, 279, 10)) - - try, ->try : Symbol(bigEnum.try, Decl(convertKeywordsYes.ts, 280, 9)) - - typeof, ->typeof : Symbol(bigEnum.typeof, Decl(convertKeywordsYes.ts, 281, 8)) - - var, ->var : Symbol(bigEnum.var, Decl(convertKeywordsYes.ts, 282, 11)) - - void, ->void : Symbol(bigEnum.void, Decl(convertKeywordsYes.ts, 283, 8)) - - while, ->while : Symbol(bigEnum.while, Decl(convertKeywordsYes.ts, 284, 9)) - - with, ->with : Symbol(bigEnum.with, Decl(convertKeywordsYes.ts, 285, 10)) -} - -namespace bigModule { ->bigModule : Symbol(bigModule, Decl(convertKeywordsYes.ts, 287, 1)) - - class constructor { } ->constructor : Symbol(constructor, Decl(convertKeywordsYes.ts, 289, 21)) - - class implements { } ->implements : Symbol(implements, Decl(convertKeywordsYes.ts, 290, 25)) - - class interface { } ->interface : Symbol(interface, Decl(convertKeywordsYes.ts, 291, 24)) - - class let { } ->let : Symbol(let, Decl(convertKeywordsYes.ts, 292, 23)) - - class module { } ->module : Symbol(module, Decl(convertKeywordsYes.ts, 293, 17)) - - class package { } ->package : Symbol(package, Decl(convertKeywordsYes.ts, 294, 20)) - - class private { } ->private : Symbol(private, Decl(convertKeywordsYes.ts, 295, 21)) - - class protected { } ->protected : Symbol(protected, Decl(convertKeywordsYes.ts, 296, 21)) - - class public { } ->public : Symbol(public, Decl(convertKeywordsYes.ts, 297, 23)) - - class set { } ->set : Symbol(set, Decl(convertKeywordsYes.ts, 298, 20)) - - class static { } ->static : Symbol(static, Decl(convertKeywordsYes.ts, 299, 17)) - - class get { } ->get : Symbol(get, Decl(convertKeywordsYes.ts, 300, 20)) - - class yield { } ->yield : Symbol(yield, Decl(convertKeywordsYes.ts, 301, 17)) - - class declare { } ->declare : Symbol(declare, Decl(convertKeywordsYes.ts, 302, 19)) -} diff --git a/testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).types b/testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).types deleted file mode 100644 index 544c9c97de6..00000000000 --- a/testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).types +++ /dev/null @@ -1,965 +0,0 @@ -//// [tests/cases/compiler/convertKeywordsYes.ts] //// - -=== convertKeywordsYes.ts === -// reserved ES5 future in strict mode - -var constructor = 0; ->constructor : number ->0 : 0 - -var any = 0; ->any : number ->0 : 0 - -var boolean = 0; ->boolean : number ->0 : 0 - -var implements = 0; ->implements : number ->0 : 0 - -var interface = 0; ->interface : number ->0 : 0 - -var let = 0; ->let : number ->0 : 0 - -var module = 0; ->module : number ->0 : 0 - -var number = 0; ->number : number ->0 : 0 - -var package = 0; ->package : number ->0 : 0 - -var private = 0; ->private : number ->0 : 0 - -var protected = 0; ->protected : number ->0 : 0 - -var public = 0; ->public : number ->0 : 0 - -var set = 0; ->set : number ->0 : 0 - -var static = 0; ->static : number ->0 : 0 - -var string = 0; ->string : number ->0 : 0 - -var get = 0; ->get : number ->0 : 0 - -var yield = 0; ->yield : number ->0 : 0 - -var declare = 0; ->declare : number ->0 : 0 - -function bigGeneric< ->bigGeneric : (c: constructor, a: any, b2: boolean, i: implements, i2: interface, l: let, m: module, n: number, p: package, p2: private, p3: protected, p4: public, s: set, s2: static, s3: string, g: get, y: yield, d: declare) => void - - constructor, - implements , - interface , - let, - module , - package, - private , - protected, - public , - set , - static , - get , - yield, - declare - >(c: constructor, ->c : constructor - - a: any, ->a : any - - b2: boolean, ->b2 : boolean - - i: implements , ->i : implements - - i2: interface , ->i2 : interface - - l: let, ->l : let - - m: module , ->m : module - - n: number, ->n : number - - p: package, ->p : package - - p2: private , ->p2 : private - - p3: protected, ->p3 : protected - - p4: public , ->p4 : public - - s: set , ->s : set - - s2: static , ->s2 : static - - s3: string, ->s3 : string - - g: get , ->g : get - - y: yield, ->y : yield - - d: declare ) { } ->d : declare - -var bigObject = { ->bigObject : { constructor: number; any: number; boolean: number; implements: number; interface: number; let: number; module: number; number: number; package: number; private: number; protected: number; public: number; set: number; static: number; string: number; get: number; yield: number; break: number; case: number; catch: number; class: number; continue: number; const: number; debugger: number; declare: number; default: number; delete: number; do: number; else: number; enum: number; export: number; extends: number; false: number; finally: number; for: number; function: number; if: number; import: number; in: number; instanceof: number; new: number; null: number; return: number; super: number; switch: number; this: number; throw: number; true: number; try: number; typeof: number; var: number; void: number; while: number; with: number; } ->{ constructor: 0, any: 0, boolean: 0, implements: 0, interface: 0, let: 0, module: 0, number: 0, package: 0, private: 0, protected: 0, public: 0, set: 0, static: 0, string: 0, get: 0, yield: 0, break: 0, case: 0, catch: 0, class: 0, continue: 0, const: 0, debugger: 0, declare: 0, default: 0, delete: 0, do: 0, else: 0, enum: 0, export: 0, extends: 0, false: 0, finally: 0, for: 0, function: 0, if: 0, import: 0, in: 0, instanceof: 0, new: 0, null: 0, return: 0, super: 0, switch: 0, this: 0, throw: 0, true: 0, try: 0, typeof: 0, var: 0, void: 0, while: 0, with: 0,} : { constructor: number; any: number; boolean: number; implements: number; interface: number; let: number; module: number; number: number; package: number; private: number; protected: number; public: number; set: number; static: number; string: number; get: number; yield: number; break: number; case: number; catch: number; class: number; continue: number; const: number; debugger: number; declare: number; default: number; delete: number; do: number; else: number; enum: number; export: number; extends: number; false: number; finally: number; for: number; function: number; if: number; import: number; in: number; instanceof: number; new: number; null: number; return: number; super: number; switch: number; this: number; throw: number; true: number; try: number; typeof: number; var: number; void: number; while: number; with: number; } - - constructor: 0, ->constructor : number ->0 : 0 - - any: 0, ->any : number ->0 : 0 - - boolean: 0, ->boolean : number ->0 : 0 - - implements: 0, ->implements : number ->0 : 0 - - interface: 0, ->interface : number ->0 : 0 - - let: 0, ->let : number ->0 : 0 - - module: 0, ->module : number ->0 : 0 - - number: 0, ->number : number ->0 : 0 - - package: 0, ->package : number ->0 : 0 - - private: 0, ->private : number ->0 : 0 - - protected: 0, ->protected : number ->0 : 0 - - public: 0, ->public : number ->0 : 0 - - set: 0, ->set : number ->0 : 0 - - static: 0, ->static : number ->0 : 0 - - string: 0, ->string : number ->0 : 0 - - get: 0, ->get : number ->0 : 0 - - yield: 0, ->yield : number ->0 : 0 - - break: 0, ->break : number ->0 : 0 - - case: 0, ->case : number ->0 : 0 - - catch: 0, ->catch : number ->0 : 0 - - class: 0, ->class : number ->0 : 0 - - continue: 0, ->continue : number ->0 : 0 - - const: 0, ->const : number ->0 : 0 - - debugger: 0, ->debugger : number ->0 : 0 - - declare: 0, ->declare : number ->0 : 0 - - default: 0, ->default : number ->0 : 0 - - delete: 0, ->delete : number ->0 : 0 - - do: 0, ->do : number ->0 : 0 - - else: 0, ->else : number ->0 : 0 - - enum: 0, ->enum : number ->0 : 0 - - export: 0, ->export : number ->0 : 0 - - extends: 0, ->extends : number ->0 : 0 - - false: 0, ->false : number ->0 : 0 - - finally: 0, ->finally : number ->0 : 0 - - for: 0, ->for : number ->0 : 0 - - function: 0, ->function : number ->0 : 0 - - if: 0, ->if : number ->0 : 0 - - import: 0, ->import : number ->0 : 0 - - in: 0, ->in : number ->0 : 0 - - instanceof: 0, ->instanceof : number ->0 : 0 - - new: 0, ->new : number ->0 : 0 - - null: 0, ->null : number ->0 : 0 - - return: 0, ->return : number ->0 : 0 - - super: 0, ->super : number ->0 : 0 - - switch: 0, ->switch : number ->0 : 0 - - this: 0, ->this : number ->0 : 0 - - throw: 0, ->throw : number ->0 : 0 - - true: 0, ->true : number ->0 : 0 - - try: 0, ->try : number ->0 : 0 - - typeof: 0, ->typeof : number ->0 : 0 - - var: 0, ->var : number ->0 : 0 - - void: 0, ->void : number ->0 : 0 - - while: 0, ->while : number ->0 : 0 - - with: 0, ->with : number ->0 : 0 - -}; - -interface bigInterface { - constructor; ->constructor : any - - any; ->any : any - - boolean; ->boolean : any - - implements; ->implements : any - - interface; ->interface : any - - let; ->let : any - - module; ->module : any - - number; ->number : any - - package; ->package : any - - private; ->private : any - - protected; ->protected : any - - public; ->public : any - - set; ->set : any - - static; ->static : any - - string; ->string : any - - get; ->get : any - - yield; ->yield : any - - break; ->break : any - - case; ->case : any - - catch; ->catch : any - - class; ->class : any - - continue; ->continue : any - - const; ->const : any - - debugger; ->debugger : any - - declare; ->declare : any - - default; ->default : any - - delete; ->delete : any - - do; ->do : any - - else; ->else : any - - enum; ->enum : any - - export; ->export : any - - extends; ->extends : any - - false; ->false : any - - finally; ->finally : any - - for; ->for : any - - function; ->function : any - - if; ->if : any - - import; ->import : any - - in; ->in : any - - instanceof; ->instanceof : any - - new; ->new : any - - null; ->null : any - - return; ->return : any - - super; ->super : any - - switch; ->switch : any - - this; ->this : any - - throw; ->throw : any - - true; ->true : any - - try; ->try : any - - typeof; ->typeof : any - - var; ->var : any - - void; ->void : any - - while; ->while : any - - with; ->with : any -} - -class bigClass { ->bigClass : bigClass - - public "constructor" = 0; ->"constructor" : number ->0 : 0 - - public any = 0; ->any : number ->0 : 0 - - public boolean = 0; ->boolean : number ->0 : 0 - - public implements = 0; ->implements : number ->0 : 0 - - public interface = 0; ->interface : number ->0 : 0 - - public let = 0; ->let : number ->0 : 0 - - public module = 0; ->module : number ->0 : 0 - - public number = 0; ->number : number ->0 : 0 - - public package = 0; ->package : number ->0 : 0 - - public private = 0; ->private : number ->0 : 0 - - public protected = 0; ->protected : number ->0 : 0 - - public public = 0; ->public : number ->0 : 0 - - public set = 0; ->set : number ->0 : 0 - - public static = 0; ->static : number ->0 : 0 - - public string = 0; ->string : number ->0 : 0 - - public get = 0; ->get : number ->0 : 0 - - public yield = 0; ->yield : number ->0 : 0 - - public break = 0; ->break : number ->0 : 0 - - public case = 0; ->case : number ->0 : 0 - - public catch = 0; ->catch : number ->0 : 0 - - public class = 0; ->class : number ->0 : 0 - - public continue = 0; ->continue : number ->0 : 0 - - public const = 0; ->const : number ->0 : 0 - - public debugger = 0; ->debugger : number ->0 : 0 - - public declare = 0; ->declare : number ->0 : 0 - - public default = 0; ->default : number ->0 : 0 - - public delete = 0; ->delete : number ->0 : 0 - - public do = 0; ->do : number ->0 : 0 - - public else = 0; ->else : number ->0 : 0 - - public enum = 0; ->enum : number ->0 : 0 - - public export = 0; ->export : number ->0 : 0 - - public extends = 0; ->extends : number ->0 : 0 - - public false = 0; ->false : number ->0 : 0 - - public finally = 0; ->finally : number ->0 : 0 - - public for = 0; ->for : number ->0 : 0 - - public function = 0; ->function : number ->0 : 0 - - public if = 0; ->if : number ->0 : 0 - - public import = 0; ->import : number ->0 : 0 - - public in = 0; ->in : number ->0 : 0 - - public instanceof = 0; ->instanceof : number ->0 : 0 - - public new = 0; ->new : number ->0 : 0 - - public null = 0; ->null : number ->0 : 0 - - public return = 0; ->return : number ->0 : 0 - - public super = 0; ->super : number ->0 : 0 - - public switch = 0; ->switch : number ->0 : 0 - - public this = 0; ->this : number ->0 : 0 - - public throw = 0; ->throw : number ->0 : 0 - - public true = 0; ->true : number ->0 : 0 - - public try = 0; ->try : number ->0 : 0 - - public typeof = 0; ->typeof : number ->0 : 0 - - public var = 0; ->var : number ->0 : 0 - - public void = 0; ->void : number ->0 : 0 - - public while = 0; ->while : number ->0 : 0 - - public with = 0; ->with : number ->0 : 0 -} - -enum bigEnum { ->bigEnum : bigEnum - - constructor, ->constructor : bigEnum.constructor - - any, ->any : bigEnum.any - - boolean, ->boolean : bigEnum.boolean - - implements, ->implements : bigEnum.implements - - interface, ->interface : bigEnum.interface - - let, ->let : bigEnum.let - - module, ->module : bigEnum.module - - number, ->number : bigEnum.number - - package, ->package : bigEnum.package - - private, ->private : bigEnum.private - - protected, ->protected : bigEnum.protected - - public, ->public : bigEnum.public - - set, ->set : bigEnum.set - - static, ->static : bigEnum.static - - string, ->string : bigEnum.string - - get, ->get : bigEnum.get - - yield, ->yield : bigEnum.yield - - break, ->break : bigEnum.break - - case, ->case : bigEnum.case - - catch, ->catch : bigEnum.catch - - class, ->class : bigEnum.class - - continue, ->continue : bigEnum.continue - - const, ->const : bigEnum.const - - debugger, ->debugger : bigEnum.debugger - - declare, ->declare : bigEnum.declare - - default, ->default : bigEnum.default - - delete, ->delete : bigEnum.delete - - do, ->do : bigEnum.do - - else, ->else : bigEnum.else - - enum, ->enum : bigEnum.enum - - export, ->export : bigEnum.export - - extends, ->extends : bigEnum.extends - - false, ->false : bigEnum.false - - finally, ->finally : bigEnum.finally - - for, ->for : bigEnum.for - - function, ->function : bigEnum.function - - if, ->if : bigEnum.if - - import, ->import : bigEnum.import - - in, ->in : bigEnum.in - - instanceof, ->instanceof : bigEnum.instanceof - - new, ->new : bigEnum.new - - null, ->null : bigEnum.null - - return, ->return : bigEnum.return - - super, ->super : bigEnum.super - - switch, ->switch : bigEnum.switch - - this, ->this : bigEnum.this - - throw, ->throw : bigEnum.throw - - true, ->true : bigEnum.true - - try, ->try : bigEnum.try - - typeof, ->typeof : bigEnum.typeof - - var, ->var : bigEnum.var - - void, ->void : bigEnum.void - - while, ->while : bigEnum.while - - with, ->with : bigEnum.with -} - -namespace bigModule { ->bigModule : typeof bigModule - - class constructor { } ->constructor : constructor - - class implements { } ->implements : implements - - class interface { } ->interface : interface - - class let { } ->let : let - - class module { } ->module : module - - class package { } ->package : package - - class private { } ->private : private - - class protected { } ->protected : protected - - class public { } ->public : public - - class set { } ->set : set - - class static { } ->static : static - - class get { } ->get : get - - class yield { } ->yield : yield - - class declare { } ->declare : declare -} diff --git a/testdata/baselines/reference/submodule/compiler/deleteOperator1.errors.txt b/testdata/baselines/reference/submodule/compiler/deleteOperator1.errors.txt index 19feefa6c62..7f01da08d18 100644 --- a/testdata/baselines/reference/submodule/compiler/deleteOperator1.errors.txt +++ b/testdata/baselines/reference/submodule/compiler/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/testdata/baselines/reference/submodule/compiler/deleteOperator1.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/deleteOperator1.errors.txt.diff deleted file mode 100644 index 1444947ee66..00000000000 --- a/testdata/baselines/reference/submodule/compiler/deleteOperator1.errors.txt.diff +++ /dev/null @@ -1,32 +0,0 @@ ---- old.deleteOperator1.errors.txt -+++ new.deleteOperator1.errors.txt -@@= skipped -0, +0 lines =@@ --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 (7 errors) ==== -+==== deleteOperator1.ts (4 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/testdata/baselines/reference/submodule/compiler/downlevelLetConst6.errors.txt b/testdata/baselines/reference/submodule/compiler/downlevelLetConst6.errors.txt index efb292ac951..67f961f1a90 100644 --- a/testdata/baselines/reference/submodule/compiler/downlevelLetConst6.errors.txt +++ b/testdata/baselines/reference/submodule/compiler/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/testdata/baselines/reference/submodule/compiler/downlevelLetConst6.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/downlevelLetConst6.errors.txt.diff deleted file mode 100644 index 0a77e60bb15..00000000000 --- a/testdata/baselines/reference/submodule/compiler/downlevelLetConst6.errors.txt.diff +++ /dev/null @@ -1,14 +0,0 @@ ---- old.downlevelLetConst6.errors.txt -+++ new.downlevelLetConst6.errors.txt -@@= skipped -0, +0 lines =@@ --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 (2 errors) ==== -+==== downlevelLetConst6.ts (1 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/testdata/baselines/reference/submodule/compiler/duplicateIdentifierInCatchBlock.errors.txt b/testdata/baselines/reference/submodule/compiler/duplicateIdentifierInCatchBlock.errors.txt index 53aa0683501..4e096fadc02 100644 --- a/testdata/baselines/reference/submodule/compiler/duplicateIdentifierInCatchBlock.errors.txt +++ b/testdata/baselines/reference/submodule/compiler/duplicateIdentifierInCatchBlock.errors.txt @@ -1,20 +1,12 @@ -duplicateIdentifierInCatchBlock.ts(1,5): error TS2300: Duplicate identifier 'v'. -duplicateIdentifierInCatchBlock.ts(3,14): error TS2300: Duplicate identifier 'v'. 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(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 (3 errors) ==== var v; - ~ -!!! error TS2300: Duplicate identifier 'v'. try { } catch (e) { function v() { } - ~ -!!! error TS2300: Duplicate identifier 'v'. } function w() { } @@ -28,11 +20,7 @@ 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'. function e() { } // error var p: string; var p: number; // error diff --git a/testdata/baselines/reference/submodule/compiler/duplicateIdentifierInCatchBlock.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/duplicateIdentifierInCatchBlock.errors.txt.diff deleted file mode 100644 index 174195f9c1d..00000000000 --- a/testdata/baselines/reference/submodule/compiler/duplicateIdentifierInCatchBlock.errors.txt.diff +++ /dev/null @@ -1,36 +0,0 @@ ---- old.duplicateIdentifierInCatchBlock.errors.txt -+++ new.duplicateIdentifierInCatchBlock.errors.txt -@@= skipped -0, +0 lines =@@ -+duplicateIdentifierInCatchBlock.ts(1,5): error TS2300: Duplicate identifier 'v'. -+duplicateIdentifierInCatchBlock.ts(3,14): error TS2300: Duplicate identifier 'v'. - 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(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 (3 errors) ==== -+==== duplicateIdentifierInCatchBlock.ts (7 errors) ==== - var v; -+ ~ -+!!! error TS2300: Duplicate identifier 'v'. - try { } catch (e) { - function v() { } -+ ~ -+!!! error TS2300: Duplicate identifier 'v'. - } - - function w() { } -@@= skipped -19, +27 lines =@@ - - try { } catch (e) { - var x; -+ ~ -+!!! error TS2300: Duplicate identifier 'x'. - function x() { } // error -+ ~ -+!!! error TS2300: Duplicate identifier 'x'. - function e() { } // error - var p: string; - var p: number; // error \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).errors.txt b/testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).errors.txt deleted file mode 100644 index b1245d7c46e..00000000000 --- a/testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).errors.txt +++ /dev/null @@ -1,58 +0,0 @@ -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 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 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 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 (8 errors) ==== - declare var x, y, z, a, b, c; - - async function withStatement0() { - with (x) { - ~~~~ -!!! 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'. - y; - } - } - - async function withStatement1() { - with (await x) { - ~~~~ -!!! 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'. - y; - } - } - - async function withStatement2() { - with (x) { - ~~~~ -!!! 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'. - a; - await y; - b; - } - } - - async function withStatement3() { - with (x) { - ~~~~ -!!! 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) { - a; - await y; - b; - } - } - } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).js deleted file mode 100644 index 7604b6d07c0..00000000000 --- a/testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).js +++ /dev/null @@ -1,62 +0,0 @@ -//// [tests/cases/compiler/es5-asyncFunctionWithStatements.ts] //// - -//// [es5-asyncFunctionWithStatements.ts] -declare var x, y, z, a, b, c; - -async function withStatement0() { - with (x) { - y; - } -} - -async function withStatement1() { - with (await x) { - y; - } -} - -async function withStatement2() { - with (x) { - a; - await y; - b; - } -} - -async function withStatement3() { - with (x) { - with (z) { - a; - await y; - b; - } - } -} - -//// [es5-asyncFunctionWithStatements.js] -async function withStatement0() { - with (x) { - y; - } -} -async function withStatement1() { - with (await x) { - y; - } -} -async function withStatement2() { - with (x) { - a; - await y; - b; - } -} -async function withStatement3() { - with (x) { - with (z) { - a; - await y; - b; - } - } -} diff --git a/testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).js.diff b/testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).js.diff deleted file mode 100644 index a4716d30d69..00000000000 --- a/testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).js.diff +++ /dev/null @@ -1,62 +0,0 @@ ---- old.es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).js -+++ new.es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).js -@@= skipped -33, +33 lines =@@ - } - - //// [es5-asyncFunctionWithStatements.js] --function withStatement0() { -- return __awaiter(this, void 0, void 0, function* () { -- with (x) { -- y; -- } -- }); --} --function withStatement1() { -- return __awaiter(this, void 0, void 0, function* () { -- with (yield x) { -- y; -- } -- }); --} --function withStatement2() { -- return __awaiter(this, void 0, void 0, function* () { -- with (x) { -+async function withStatement0() { -+ with (x) { -+ y; -+ } -+} -+async function withStatement1() { -+ with (await x) { -+ y; -+ } -+} -+async function withStatement2() { -+ with (x) { -+ a; -+ await y; -+ b; -+ } -+} -+async function withStatement3() { -+ with (x) { -+ with (z) { - a; -- yield y; -+ await y; - b; - } -- }); --} --function withStatement3() { -- return __awaiter(this, void 0, void 0, function* () { -- with (x) { -- with (z) { -- a; -- yield y; -- b; -- } -- } -- }); -+ } - } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).symbols b/testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).symbols deleted file mode 100644 index 13a98479a6d..00000000000 --- a/testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).symbols +++ /dev/null @@ -1,56 +0,0 @@ -//// [tests/cases/compiler/es5-asyncFunctionWithStatements.ts] //// - -=== es5-asyncFunctionWithStatements.ts === -declare var x, y, z, a, b, c; ->x : Symbol(x, Decl(es5-asyncFunctionWithStatements.ts, 0, 11)) ->y : Symbol(y, Decl(es5-asyncFunctionWithStatements.ts, 0, 14)) ->z : Symbol(z, Decl(es5-asyncFunctionWithStatements.ts, 0, 17)) ->a : Symbol(a, Decl(es5-asyncFunctionWithStatements.ts, 0, 20)) ->b : Symbol(b, Decl(es5-asyncFunctionWithStatements.ts, 0, 23)) ->c : Symbol(c, Decl(es5-asyncFunctionWithStatements.ts, 0, 26)) - -async function withStatement0() { ->withStatement0 : Symbol(withStatement0, Decl(es5-asyncFunctionWithStatements.ts, 0, 29)) - - with (x) { ->x : Symbol(x, Decl(es5-asyncFunctionWithStatements.ts, 0, 11)) - - y; - } -} - -async function withStatement1() { ->withStatement1 : Symbol(withStatement1, Decl(es5-asyncFunctionWithStatements.ts, 6, 1)) - - with (await x) { ->x : Symbol(x, Decl(es5-asyncFunctionWithStatements.ts, 0, 11)) - - y; - } -} - -async function withStatement2() { ->withStatement2 : Symbol(withStatement2, Decl(es5-asyncFunctionWithStatements.ts, 12, 1)) - - with (x) { ->x : Symbol(x, Decl(es5-asyncFunctionWithStatements.ts, 0, 11)) - - a; - await y; - b; - } -} - -async function withStatement3() { ->withStatement3 : Symbol(withStatement3, Decl(es5-asyncFunctionWithStatements.ts, 20, 1)) - - with (x) { ->x : Symbol(x, Decl(es5-asyncFunctionWithStatements.ts, 0, 11)) - - with (z) { - a; - await y; - b; - } - } -} diff --git a/testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).types b/testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).types deleted file mode 100644 index 48c5d711876..00000000000 --- a/testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).types +++ /dev/null @@ -1,73 +0,0 @@ -//// [tests/cases/compiler/es5-asyncFunctionWithStatements.ts] //// - -=== es5-asyncFunctionWithStatements.ts === -declare var x, y, z, a, b, c; ->x : any ->y : any ->z : any ->a : any ->b : any ->c : any - -async function withStatement0() { ->withStatement0 : () => Promise - - with (x) { ->x : any - - y; ->y : any - } -} - -async function withStatement1() { ->withStatement1 : () => Promise - - with (await x) { ->await x : any ->x : any - - y; ->y : any - } -} - -async function withStatement2() { ->withStatement2 : () => Promise - - with (x) { ->x : any - - a; ->a : any - - await y; ->await y : any ->y : any - - b; ->b : any - } -} - -async function withStatement3() { ->withStatement3 : () => Promise - - with (x) { ->x : any - - with (z) { ->z : any - - a; ->a : any - - await y; ->await y : any ->y : any - - b; ->b : any - } - } -} diff --git a/testdata/baselines/reference/submodule/compiler/functionExpressionInWithBlock.errors.txt b/testdata/baselines/reference/submodule/compiler/functionExpressionInWithBlock.errors.txt index d5b6ea80835..63b0085885c 100644 --- a/testdata/baselines/reference/submodule/compiler/functionExpressionInWithBlock.errors.txt +++ b/testdata/baselines/reference/submodule/compiler/functionExpressionInWithBlock.errors.txt @@ -1,9 +1,12 @@ +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 (1 errors) ==== +==== functionExpressionInWithBlock.ts (2 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() { diff --git a/testdata/baselines/reference/submodule/compiler/functionExpressionInWithBlock.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/functionExpressionInWithBlock.errors.txt.diff deleted file mode 100644 index d984d1ec89d..00000000000 --- a/testdata/baselines/reference/submodule/compiler/functionExpressionInWithBlock.errors.txt.diff +++ /dev/null @@ -1,16 +0,0 @@ ---- old.functionExpressionInWithBlock.errors.txt -+++ new.functionExpressionInWithBlock.errors.txt -@@= skipped -0, +0 lines =@@ --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 (2 errors) ==== -+==== functionExpressionInWithBlock.ts (1 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() { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/innerModExport1.errors.txt b/testdata/baselines/reference/submodule/compiler/innerModExport1.errors.txt index 6ff7e61c165..f300487ab97 100644 --- a/testdata/baselines/reference/submodule/compiler/innerModExport1.errors.txt +++ b/testdata/baselines/reference/submodule/compiler/innerModExport1.errors.txt @@ -1,8 +1,9 @@ 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(19,7): error TS2339: Property 'ExportFunc' does not exist on type 'typeof Outer'. -==== innerModExport1.ts (2 errors) ==== +==== innerModExport1.ts (3 errors) ==== namespace Outer { // inner mod 1 @@ -25,4 +26,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/testdata/baselines/reference/submodule/compiler/innerModExport1.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/innerModExport1.errors.txt.diff index 79831bba166..dd92bbc6ee6 100644 --- a/testdata/baselines/reference/submodule/compiler/innerModExport1.errors.txt.diff +++ b/testdata/baselines/reference/submodule/compiler/innerModExport1.errors.txt.diff @@ -4,16 +4,9 @@ -innerModExport1.ts(5,5): error TS2591: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig. +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(19,7): error TS2339: Property 'ExportFunc' does not exist on type 'typeof Outer'. -- -- --==== innerModExport1.ts (3 errors) ==== -+ -+ -+==== innerModExport1.ts (2 errors) ==== - namespace Outer { - - // inner mod 1 + innerModExport1.ts(19,7): error TS2339: Property 'ExportFunc' does not exist on type 'typeof Outer'. + +@@= skipped -9, +9 lines =@@ var non_export_var: number; module { ~~~~~~ @@ -21,10 +14,4 @@ +!!! error TS2580: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node`. ~ !!! error TS1437: Namespace must be given a name. - var non_export_var = 0; -@@= skipped -26, +25 lines =@@ - } - - Outer.ExportFunc(); -- ~~~~~~~~~~ --!!! error TS2339: Property 'ExportFunc' does not exist on type 'typeof Outer'. \ No newline at end of file + var non_export_var = 0; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/innerModExport1.symbols b/testdata/baselines/reference/submodule/compiler/innerModExport1.symbols index 2c98ac82d78..2b1f6d920fa 100644 --- a/testdata/baselines/reference/submodule/compiler/innerModExport1.symbols +++ b/testdata/baselines/reference/submodule/compiler/innerModExport1.symbols @@ -31,7 +31,5 @@ namespace 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/testdata/baselines/reference/submodule/compiler/innerModExport1.symbols.diff b/testdata/baselines/reference/submodule/compiler/innerModExport1.symbols.diff deleted file mode 100644 index 7aef745c40b..00000000000 --- a/testdata/baselines/reference/submodule/compiler/innerModExport1.symbols.diff +++ /dev/null @@ -1,9 +0,0 @@ ---- old.innerModExport1.symbols -+++ new.innerModExport1.symbols -@@= skipped -30, +30 lines =@@ - } - - 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/testdata/baselines/reference/submodule/compiler/innerModExport1.types b/testdata/baselines/reference/submodule/compiler/innerModExport1.types index 54f0b78bc6a..c9c78eb34dc 100644 --- a/testdata/baselines/reference/submodule/compiler/innerModExport1.types +++ b/testdata/baselines/reference/submodule/compiler/innerModExport1.types @@ -39,8 +39,8 @@ namespace 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/testdata/baselines/reference/submodule/compiler/innerModExport1.types.diff b/testdata/baselines/reference/submodule/compiler/innerModExport1.types.diff deleted file mode 100644 index 8351ef03e7e..00000000000 --- a/testdata/baselines/reference/submodule/compiler/innerModExport1.types.diff +++ /dev/null @@ -1,13 +0,0 @@ ---- old.innerModExport1.types -+++ new.innerModExport1.types -@@= skipped -38, +38 lines =@@ - } - - Outer.ExportFunc(); -->Outer.ExportFunc() : any -->Outer.ExportFunc : any -+>Outer.ExportFunc() : number -+>Outer.ExportFunc : () => number - >Outer : typeof Outer -->ExportFunc : any -+>ExportFunc : () => number diff --git a/testdata/baselines/reference/submodule/compiler/innerModExport2.errors.txt b/testdata/baselines/reference/submodule/compiler/innerModExport2.errors.txt index 1132230b927..aaf593227c9 100644 --- a/testdata/baselines/reference/submodule/compiler/innerModExport2.errors.txt +++ b/testdata/baselines/reference/submodule/compiler/innerModExport2.errors.txt @@ -2,7 +2,7 @@ innerModExport2.ts(5,5): error TS2580: Cannot find name 'module'. Do you need to 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(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) ==== @@ -35,5 +35,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/testdata/baselines/reference/submodule/compiler/innerModExport2.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/innerModExport2.errors.txt.diff index 88609772a70..6fcbc3554d1 100644 --- a/testdata/baselines/reference/submodule/compiler/innerModExport2.errors.txt.diff +++ b/testdata/baselines/reference/submodule/compiler/innerModExport2.errors.txt.diff @@ -6,11 +6,6 @@ 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(13,9): error TS2395: Individual declarations in merged declaration 'export_var' must be all exported or all local. --innerModExport2.ts(20,7): error TS2339: Property 'NonExportFunc' does not exist on type 'typeof Outer'. -+innerModExport2.ts(20,7): error TS2551: Property 'NonExportFunc' does not exist on type 'typeof Outer'. Did you mean 'ExportFunc'? - - - ==== innerModExport2.ts (5 errors) ==== @@= skipped -11, +11 lines =@@ var non_export_var: number; module { @@ -19,11 +14,4 @@ +!!! error TS2580: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node`. ~ !!! error TS1437: Namespace must be given a name. - var non_export_var = 0; -@@= skipped -23, +23 lines =@@ - - Outer.NonExportFunc(); - ~~~~~~~~~~~~~ --!!! error TS2339: Property 'NonExportFunc' does not exist on type 'typeof Outer'. -+!!! 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 + var non_export_var = 0; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationBindReachabilityErrors(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/compiler/jsFileCompilationBindReachabilityErrors(alwaysstrict=false).errors.txt deleted file mode 100644 index 1cfc7524624..00000000000 --- a/testdata/baselines/reference/submodule/compiler/jsFileCompilationBindReachabilityErrors(alwaysstrict=false).errors.txt +++ /dev/null @@ -1,31 +0,0 @@ -a.js(3,9): error TS7029: Fallthrough case in switch. -a.js(16,5): error TS7027: Unreachable code detected. -a.js(19,1): error TS7028: Unused label. - - -==== a.js (3 errors) ==== - function foo(a, b) { - switch (a) { - case 10: - ~~~~~~~~ -!!! error TS7029: Fallthrough case in switch. - if (b) { - return b; - } - case 20: - return a; - } - } - - function bar() { - return x; - function bar2() { - } - var x = 10; // error - ~~~~~~~~~~~ -!!! error TS7027: Unreachable code detected. - } - - label1: var x2 = 10; - ~~~~~~ -!!! error TS7028: Unused label. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationBindReachabilityErrors(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/compiler/jsFileCompilationBindReachabilityErrors(alwaysstrict=false).symbols deleted file mode 100644 index adb3816e10d..00000000000 --- a/testdata/baselines/reference/submodule/compiler/jsFileCompilationBindReachabilityErrors(alwaysstrict=false).symbols +++ /dev/null @@ -1,40 +0,0 @@ -//// [tests/cases/compiler/jsFileCompilationBindReachabilityErrors.ts] //// - -=== a.js === -function foo(a, b) { ->foo : Symbol(foo, Decl(a.js, 0, 0)) ->a : Symbol(a, Decl(a.js, 0, 13)) ->b : Symbol(b, Decl(a.js, 0, 15)) - - switch (a) { ->a : Symbol(a, Decl(a.js, 0, 13)) - - case 10: - if (b) { ->b : Symbol(b, Decl(a.js, 0, 15)) - - return b; ->b : Symbol(b, Decl(a.js, 0, 15)) - } - case 20: - return a; ->a : Symbol(a, Decl(a.js, 0, 13)) - } -} - -function bar() { ->bar : Symbol(bar, Decl(a.js, 9, 1)) - - return x; ->x : Symbol(x, Decl(a.js, 15, 7)) - - function bar2() { ->bar2 : Symbol(bar2, Decl(a.js, 12, 13)) - } - var x = 10; // error ->x : Symbol(x, Decl(a.js, 15, 7)) -} - -label1: var x2 = 10; ->x2 : Symbol(x2, Decl(a.js, 18, 12)) - diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationBindReachabilityErrors(alwaysstrict=false).types b/testdata/baselines/reference/submodule/compiler/jsFileCompilationBindReachabilityErrors(alwaysstrict=false).types deleted file mode 100644 index d11564fca67..00000000000 --- a/testdata/baselines/reference/submodule/compiler/jsFileCompilationBindReachabilityErrors(alwaysstrict=false).types +++ /dev/null @@ -1,47 +0,0 @@ -//// [tests/cases/compiler/jsFileCompilationBindReachabilityErrors.ts] //// - -=== a.js === -function foo(a, b) { ->foo : (a: any, b: any) => any ->a : any ->b : any - - switch (a) { ->a : any - - case 10: ->10 : 10 - - if (b) { ->b : any - - return b; ->b : any - } - case 20: ->20 : 20 - - return a; ->a : any - } -} - -function bar() { ->bar : () => number - - return x; ->x : number - - function bar2() { ->bar2 : () => void - } - var x = 10; // error ->x : number ->10 : 10 -} - -label1: var x2 = 10; ->label1 : any ->x2 : number ->10 : 10 - diff --git a/testdata/baselines/reference/submodule/compiler/letAndVarRedeclaration.errors.txt b/testdata/baselines/reference/submodule/compiler/letAndVarRedeclaration.errors.txt index 3cc27b6dab8..6465cc652d6 100644 --- a/testdata/baselines/reference/submodule/compiler/letAndVarRedeclaration.errors.txt +++ b/testdata/baselines/reference/submodule/compiler/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/testdata/baselines/reference/submodule/compiler/letAndVarRedeclaration.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/letAndVarRedeclaration.errors.txt.diff deleted file mode 100644 index 81e019253df..00000000000 --- a/testdata/baselines/reference/submodule/compiler/letAndVarRedeclaration.errors.txt.diff +++ /dev/null @@ -1,43 +0,0 @@ ---- old.letAndVarRedeclaration.errors.txt -+++ new.letAndVarRedeclaration.errors.txt -@@= skipped -5, +5 lines =@@ - 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'. -@@= skipped -13, +15 lines =@@ - letAndVarRedeclaration.ts(49,14): error TS2451: Cannot redeclare block-scoped variable 'x11'. - - --==== letAndVarRedeclaration.ts (19 errors) ==== -+==== letAndVarRedeclaration.ts (21 errors) ==== - let e0 - ~~ - !!! error TS2300: Duplicate identifier 'e0'. -@@= skipped -34, +34 lines =@@ - } - { - function x() { } -+ ~ -+!!! error TS2451: Cannot redeclare block-scoped variable 'x'. - } - } - -@@= skipped -26, +28 lines =@@ - } - { - function x2() { } -+ ~~ -+!!! error TS2451: Cannot redeclare block-scoped variable 'x2'. - } - } - \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/letAsIdentifier.errors.txt b/testdata/baselines/reference/submodule/compiler/letAsIdentifier.errors.txt index f5fe5509975..e34f634d5e3 100644 --- a/testdata/baselines/reference/submodule/compiler/letAsIdentifier.errors.txt +++ b/testdata/baselines/reference/submodule/compiler/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/testdata/baselines/reference/submodule/compiler/letAsIdentifier.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/letAsIdentifier.errors.txt.diff deleted file mode 100644 index 4753a9bb3cc..00000000000 --- a/testdata/baselines/reference/submodule/compiler/letAsIdentifier.errors.txt.diff +++ /dev/null @@ -1,23 +0,0 @@ ---- old.letAsIdentifier.errors.txt -+++ new.letAsIdentifier.errors.txt -@@= skipped -0, +0 lines =@@ --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 (4 errors) ==== -+==== letAsIdentifier.ts (2 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; - ~ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/letAsIdentifier2.errors.txt b/testdata/baselines/reference/submodule/compiler/letAsIdentifier2.errors.txt new file mode 100644 index 00000000000..84bc1ea4938 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/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/testdata/baselines/reference/submodule/compiler/letAsIdentifier2.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/letAsIdentifier2.errors.txt.diff deleted file mode 100644 index adcc88124ed..00000000000 --- a/testdata/baselines/reference/submodule/compiler/letAsIdentifier2.errors.txt.diff +++ /dev/null @@ -1,11 +0,0 @@ ---- old.letAsIdentifier2.errors.txt -+++ new.letAsIdentifier2.errors.txt -@@= skipped -0, +0 lines =@@ --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/testdata/baselines/reference/submodule/compiler/letDeclarations-invalidContexts.errors.txt b/testdata/baselines/reference/submodule/compiler/letDeclarations-invalidContexts.errors.txt index 645962e02e1..4f913ff135e 100644 --- a/testdata/baselines/reference/submodule/compiler/letDeclarations-invalidContexts.errors.txt +++ b/testdata/baselines/reference/submodule/compiler/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/testdata/baselines/reference/submodule/compiler/letDeclarations-invalidContexts.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/letDeclarations-invalidContexts.errors.txt.diff deleted file mode 100644 index 2d06643792b..00000000000 --- a/testdata/baselines/reference/submodule/compiler/letDeclarations-invalidContexts.errors.txt.diff +++ /dev/null @@ -1,46 +0,0 @@ ---- old.letDeclarations-invalidContexts.errors.txt -+++ new.letDeclarations-invalidContexts.errors.txt -@@= skipped -1, +1 lines =@@ - 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 (12 errors) ==== -+==== letDeclarations-invalidContexts.ts (9 errors) ==== - // Errors, let must be defined inside a block - if (true) - let l1 = 0; -@@= skipped -34, +31 lines =@@ - - 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; -@@= skipped -18, +16 lines =@@ - - 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. - \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/letDeclarations-scopes.errors.txt b/testdata/baselines/reference/submodule/compiler/letDeclarations-scopes.errors.txt index 88220a8a4ef..fd14ca81b09 100644 --- a/testdata/baselines/reference/submodule/compiler/letDeclarations-scopes.errors.txt +++ b/testdata/baselines/reference/submodule/compiler/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/testdata/baselines/reference/submodule/compiler/letDeclarations-scopes.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/letDeclarations-scopes.errors.txt.diff deleted file mode 100644 index 68c379186a0..00000000000 --- a/testdata/baselines/reference/submodule/compiler/letDeclarations-scopes.errors.txt.diff +++ /dev/null @@ -1,51 +0,0 @@ ---- old.letDeclarations-scopes.errors.txt -+++ new.letDeclarations-scopes.errors.txt -@@= skipped -0, +0 lines =@@ --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 (5 errors) ==== -+ -+ -+==== letDeclarations-scopes.ts (1 errors) ==== - // global - let l = "string"; - -@@= skipped -32, +28 lines =@@ - - 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; -@@= skipped -20, +18 lines =@@ - - 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; - } - -@@= skipped -80, +76 lines =@@ - } - - lable: let l2 = 0; -- ~~~~~ --!!! error TS1344: 'A label is not allowed here. - } - - // methods \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/letDeclarations-validContexts.errors.txt b/testdata/baselines/reference/submodule/compiler/letDeclarations-validContexts.errors.txt index cfe1d3d189d..3c3aa84e21e 100644 --- a/testdata/baselines/reference/submodule/compiler/letDeclarations-validContexts.errors.txt +++ b/testdata/baselines/reference/submodule/compiler/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. } } namespace 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/testdata/baselines/reference/submodule/compiler/letDeclarations-validContexts.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/letDeclarations-validContexts.errors.txt.diff deleted file mode 100644 index 06ef74e2ca0..00000000000 --- a/testdata/baselines/reference/submodule/compiler/letDeclarations-validContexts.errors.txt.diff +++ /dev/null @@ -1,89 +0,0 @@ ---- old.letDeclarations-validContexts.errors.txt -+++ new.letDeclarations-validContexts.errors.txt -@@= skipped -0, +0 lines =@@ --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 (11 errors) ==== -+ -+ -+==== letDeclarations-validContexts.ts (1 errors) ==== - // Control flow statements with blocks - if (true) { - let l1 = 0; -@@= skipped -29, +19 lines =@@ - - 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; -@@= skipped -17, +15 lines =@@ - - 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 -@@= skipped -37, +33 lines =@@ - { - let l16 = 0 - label17: let l17 = 0; -- ~~~~~~~ --!!! error TS1344: 'A label is not allowed here. - } - } - -@@= skipped -62, +60 lines =@@ - - // 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. - } - } - - namespace 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/testdata/baselines/reference/submodule/compiler/letInConstDeclarations_ES5(target=es2015).errors.txt b/testdata/baselines/reference/submodule/compiler/letInConstDeclarations_ES5(target=es2015).errors.txt index a0637a1b9d0..8382bccd976 100644 --- a/testdata/baselines/reference/submodule/compiler/letInConstDeclarations_ES5(target=es2015).errors.txt +++ b/testdata/baselines/reference/submodule/compiler/letInConstDeclarations_ES5(target=es2015).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/testdata/baselines/reference/submodule/compiler/letInConstDeclarations_ES5(target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/compiler/letInConstDeclarations_ES5(target=es2015).errors.txt.diff deleted file mode 100644 index 35cdd535249..00000000000 --- a/testdata/baselines/reference/submodule/compiler/letInConstDeclarations_ES5(target=es2015).errors.txt.diff +++ /dev/null @@ -1,25 +0,0 @@ ---- old.letInConstDeclarations_ES5(target=es2015).errors.txt -+++ new.letInConstDeclarations_ES5(target=es2015).errors.txt -@@= skipped -0, +0 lines =@@ --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 (4 errors) ==== -+==== letInConstDeclarations_ES5.ts (2 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/testdata/baselines/reference/submodule/compiler/letInConstDeclarations_ES6.errors.txt b/testdata/baselines/reference/submodule/compiler/letInConstDeclarations_ES6.errors.txt index 3bd8501e1a6..71b556c64c2 100644 --- a/testdata/baselines/reference/submodule/compiler/letInConstDeclarations_ES6.errors.txt +++ b/testdata/baselines/reference/submodule/compiler/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/testdata/baselines/reference/submodule/compiler/letInConstDeclarations_ES6.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/letInConstDeclarations_ES6.errors.txt.diff deleted file mode 100644 index e4e86e16b3f..00000000000 --- a/testdata/baselines/reference/submodule/compiler/letInConstDeclarations_ES6.errors.txt.diff +++ /dev/null @@ -1,25 +0,0 @@ ---- old.letInConstDeclarations_ES6.errors.txt -+++ new.letInConstDeclarations_ES6.errors.txt -@@= skipped -0, +0 lines =@@ --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 (4 errors) ==== -+==== letInConstDeclarations_ES6.ts (2 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/testdata/baselines/reference/submodule/compiler/letInLetConstDeclOfForOfAndForIn_ES5(target=es2015).errors.txt b/testdata/baselines/reference/submodule/compiler/letInLetConstDeclOfForOfAndForIn_ES5(target=es2015).errors.txt index 0bb7d4e38b2..60ecd6d1afb 100644 --- a/testdata/baselines/reference/submodule/compiler/letInLetConstDeclOfForOfAndForIn_ES5(target=es2015).errors.txt +++ b/testdata/baselines/reference/submodule/compiler/letInLetConstDeclOfForOfAndForIn_ES5(target=es2015).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/testdata/baselines/reference/submodule/compiler/letInLetConstDeclOfForOfAndForIn_ES5(target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/compiler/letInLetConstDeclOfForOfAndForIn_ES5(target=es2015).errors.txt.diff deleted file mode 100644 index 9d5fbf96ccb..00000000000 --- a/testdata/baselines/reference/submodule/compiler/letInLetConstDeclOfForOfAndForIn_ES5(target=es2015).errors.txt.diff +++ /dev/null @@ -1,73 +0,0 @@ ---- old.letInLetConstDeclOfForOfAndForIn_ES5(target=es2015).errors.txt -+++ new.letInLetConstDeclOfForOfAndForIn_ES5(target=es2015).errors.txt -@@= skipped -0, +0 lines =@@ --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 (16 errors) ==== -+==== letInLetConstDeclOfForOfAndForIn_ES5.ts (8 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. - } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/letInLetConstDeclOfForOfAndForIn_ES6.errors.txt b/testdata/baselines/reference/submodule/compiler/letInLetConstDeclOfForOfAndForIn_ES6.errors.txt index f2118a7c694..607a6e71e7c 100644 --- a/testdata/baselines/reference/submodule/compiler/letInLetConstDeclOfForOfAndForIn_ES6.errors.txt +++ b/testdata/baselines/reference/submodule/compiler/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/testdata/baselines/reference/submodule/compiler/letInLetConstDeclOfForOfAndForIn_ES6.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/letInLetConstDeclOfForOfAndForIn_ES6.errors.txt.diff deleted file mode 100644 index 982e581e949..00000000000 --- a/testdata/baselines/reference/submodule/compiler/letInLetConstDeclOfForOfAndForIn_ES6.errors.txt.diff +++ /dev/null @@ -1,73 +0,0 @@ ---- old.letInLetConstDeclOfForOfAndForIn_ES6.errors.txt -+++ new.letInLetConstDeclOfForOfAndForIn_ES6.errors.txt -@@= skipped -0, +0 lines =@@ --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 (16 errors) ==== -+==== letInLetConstDeclOfForOfAndForIn_ES6.ts (8 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. - } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/letInLetDeclarations_ES5(target=es2015).errors.txt b/testdata/baselines/reference/submodule/compiler/letInLetDeclarations_ES5(target=es2015).errors.txt index 72c96cb1ab8..8e7addcb2b7 100644 --- a/testdata/baselines/reference/submodule/compiler/letInLetDeclarations_ES5(target=es2015).errors.txt +++ b/testdata/baselines/reference/submodule/compiler/letInLetDeclarations_ES5(target=es2015).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/testdata/baselines/reference/submodule/compiler/letInLetDeclarations_ES5(target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/compiler/letInLetDeclarations_ES5(target=es2015).errors.txt.diff deleted file mode 100644 index 3b9d8bb3957..00000000000 --- a/testdata/baselines/reference/submodule/compiler/letInLetDeclarations_ES5(target=es2015).errors.txt.diff +++ /dev/null @@ -1,25 +0,0 @@ ---- old.letInLetDeclarations_ES5(target=es2015).errors.txt -+++ new.letInLetDeclarations_ES5(target=es2015).errors.txt -@@= skipped -0, +0 lines =@@ --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 (4 errors) ==== -+==== letInLetDeclarations_ES5.ts (2 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/testdata/baselines/reference/submodule/compiler/letInLetDeclarations_ES6.errors.txt b/testdata/baselines/reference/submodule/compiler/letInLetDeclarations_ES6.errors.txt index e12b77e2bd1..279674d37c7 100644 --- a/testdata/baselines/reference/submodule/compiler/letInLetDeclarations_ES6.errors.txt +++ b/testdata/baselines/reference/submodule/compiler/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/testdata/baselines/reference/submodule/compiler/letInLetDeclarations_ES6.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/letInLetDeclarations_ES6.errors.txt.diff deleted file mode 100644 index 640243e70bf..00000000000 --- a/testdata/baselines/reference/submodule/compiler/letInLetDeclarations_ES6.errors.txt.diff +++ /dev/null @@ -1,25 +0,0 @@ ---- old.letInLetDeclarations_ES6.errors.txt -+++ new.letInLetDeclarations_ES6.errors.txt -@@= skipped -0, +0 lines =@@ --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 (4 errors) ==== -+==== letInLetDeclarations_ES6.ts (2 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/testdata/baselines/reference/submodule/compiler/letInVarDeclOfForIn_ES5(target=es2015).errors.txt b/testdata/baselines/reference/submodule/compiler/letInVarDeclOfForIn_ES5(target=es2015).errors.txt new file mode 100644 index 00000000000..82c8fbaba35 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/letInVarDeclOfForIn_ES5(target=es2015).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/testdata/baselines/reference/submodule/compiler/letInVarDeclOfForIn_ES5(target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/compiler/letInVarDeclOfForIn_ES5(target=es2015).errors.txt.diff deleted file mode 100644 index 87a066cd521..00000000000 --- a/testdata/baselines/reference/submodule/compiler/letInVarDeclOfForIn_ES5(target=es2015).errors.txt.diff +++ /dev/null @@ -1,20 +0,0 @@ ---- old.letInVarDeclOfForIn_ES5(target=es2015).errors.txt -+++ new.letInVarDeclOfForIn_ES5(target=es2015).errors.txt -@@= skipped -0, +0 lines =@@ --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/testdata/baselines/reference/submodule/compiler/letInVarDeclOfForIn_ES6.errors.txt b/testdata/baselines/reference/submodule/compiler/letInVarDeclOfForIn_ES6.errors.txt new file mode 100644 index 00000000000..23b8312aa83 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/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/testdata/baselines/reference/submodule/compiler/letInVarDeclOfForIn_ES6.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/letInVarDeclOfForIn_ES6.errors.txt.diff deleted file mode 100644 index 910c44551f0..00000000000 --- a/testdata/baselines/reference/submodule/compiler/letInVarDeclOfForIn_ES6.errors.txt.diff +++ /dev/null @@ -1,20 +0,0 @@ ---- old.letInVarDeclOfForIn_ES6.errors.txt -+++ new.letInVarDeclOfForIn_ES6.errors.txt -@@= skipped -0, +0 lines =@@ --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/testdata/baselines/reference/submodule/compiler/letInVarDeclOfForOf_ES5(target=es2015).errors.txt b/testdata/baselines/reference/submodule/compiler/letInVarDeclOfForOf_ES5(target=es2015).errors.txt new file mode 100644 index 00000000000..f87781e649e --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/letInVarDeclOfForOf_ES5(target=es2015).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/testdata/baselines/reference/submodule/compiler/letInVarDeclOfForOf_ES5(target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/compiler/letInVarDeclOfForOf_ES5(target=es2015).errors.txt.diff deleted file mode 100644 index 5599f5deb4f..00000000000 --- a/testdata/baselines/reference/submodule/compiler/letInVarDeclOfForOf_ES5(target=es2015).errors.txt.diff +++ /dev/null @@ -1,20 +0,0 @@ ---- old.letInVarDeclOfForOf_ES5(target=es2015).errors.txt -+++ new.letInVarDeclOfForOf_ES5(target=es2015).errors.txt -@@= skipped -0, +0 lines =@@ --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/testdata/baselines/reference/submodule/compiler/letInVarDeclOfForOf_ES6.errors.txt b/testdata/baselines/reference/submodule/compiler/letInVarDeclOfForOf_ES6.errors.txt new file mode 100644 index 00000000000..de8fb7a9b97 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/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/testdata/baselines/reference/submodule/compiler/letInVarDeclOfForOf_ES6.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/letInVarDeclOfForOf_ES6.errors.txt.diff deleted file mode 100644 index 97d8b0fb373..00000000000 --- a/testdata/baselines/reference/submodule/compiler/letInVarDeclOfForOf_ES6.errors.txt.diff +++ /dev/null @@ -1,20 +0,0 @@ ---- old.letInVarDeclOfForOf_ES6.errors.txt -+++ new.letInVarDeclOfForOf_ES6.errors.txt -@@= skipped -0, +0 lines =@@ --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/testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).errors.txt deleted file mode 100644 index 2c7829a9204..00000000000 --- a/testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).errors.txt +++ /dev/null @@ -1,32 +0,0 @@ -missingCloseParenStatements.ts(2,26): error TS1005: ')' expected. -missingCloseParenStatements.ts(4,5): error TS1005: ')' expected. -missingCloseParenStatements.ts(8,39): error TS1005: ')' expected. -missingCloseParenStatements.ts(11,35): error TS1005: ')' expected. - - -==== missingCloseParenStatements.ts (4 errors) ==== - var a1, a2, a3 = 0; - if ( a1 && (a2 + a3 > 0) { - ~ -!!! error TS1005: ')' expected. -!!! related TS1007 missingCloseParenStatements.ts:2:4: The parser expected to find a ')' to match the '(' token here. - while( (a2 > 0) && a1 - { - ~ -!!! error TS1005: ')' expected. -!!! related TS1007 missingCloseParenStatements.ts:3:10: The parser expected to find a ')' to match the '(' token here. - do { - var i = i + 1; - a1 = a1 + i; - with ((a2 + a3 > 0) && a1 { - ~ -!!! error TS1005: ')' expected. -!!! related TS1007 missingCloseParenStatements.ts:8:18: The parser expected to find a ')' to match the '(' token here. - console.log(x); - } - } while (i < 5 && (a1 > 5); - ~ -!!! error TS1005: ')' expected. -!!! related TS1007 missingCloseParenStatements.ts:11:17: The parser expected to find a ')' to match the '(' token here. - } - } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).js b/testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).js deleted file mode 100644 index f0e4de88167..00000000000 --- a/testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).js +++ /dev/null @@ -1,30 +0,0 @@ -//// [tests/cases/compiler/missingCloseParenStatements.ts] //// - -//// [missingCloseParenStatements.ts] -var a1, a2, a3 = 0; -if ( a1 && (a2 + a3 > 0) { - while( (a2 > 0) && a1 - { - do { - var i = i + 1; - a1 = a1 + i; - with ((a2 + a3 > 0) && a1 { - console.log(x); - } - } while (i < 5 && (a1 > 5); - } -} - -//// [missingCloseParenStatements.js] -var a1, a2, a3 = 0; -if (a1 && (a2 + a3 > 0)) { - while ((a2 > 0) && a1) { - do { - var i = i + 1; - a1 = a1 + i; - with ((a2 + a3 > 0) && a1) { - console.log(x); - } - } while (i < 5 && (a1 > 5)); - } -} diff --git a/testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).symbols deleted file mode 100644 index 00e76343b19..00000000000 --- a/testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).symbols +++ /dev/null @@ -1,39 +0,0 @@ -//// [tests/cases/compiler/missingCloseParenStatements.ts] //// - -=== missingCloseParenStatements.ts === -var a1, a2, a3 = 0; ->a1 : Symbol(a1, Decl(missingCloseParenStatements.ts, 0, 3)) ->a2 : Symbol(a2, Decl(missingCloseParenStatements.ts, 0, 7)) ->a3 : Symbol(a3, Decl(missingCloseParenStatements.ts, 0, 11)) - -if ( a1 && (a2 + a3 > 0) { ->a1 : Symbol(a1, Decl(missingCloseParenStatements.ts, 0, 3)) ->a2 : Symbol(a2, Decl(missingCloseParenStatements.ts, 0, 7)) ->a3 : Symbol(a3, Decl(missingCloseParenStatements.ts, 0, 11)) - - while( (a2 > 0) && a1 ->a2 : Symbol(a2, Decl(missingCloseParenStatements.ts, 0, 7)) ->a1 : Symbol(a1, Decl(missingCloseParenStatements.ts, 0, 3)) - { - do { - var i = i + 1; ->i : Symbol(i, Decl(missingCloseParenStatements.ts, 5, 15)) ->i : Symbol(i, Decl(missingCloseParenStatements.ts, 5, 15)) - - a1 = a1 + i; ->a1 : Symbol(a1, Decl(missingCloseParenStatements.ts, 0, 3)) ->a1 : Symbol(a1, Decl(missingCloseParenStatements.ts, 0, 3)) ->i : Symbol(i, Decl(missingCloseParenStatements.ts, 5, 15)) - - with ((a2 + a3 > 0) && a1 { ->a2 : Symbol(a2, Decl(missingCloseParenStatements.ts, 0, 7)) ->a3 : Symbol(a3, Decl(missingCloseParenStatements.ts, 0, 11)) ->a1 : Symbol(a1, Decl(missingCloseParenStatements.ts, 0, 3)) - - console.log(x); - } - } while (i < 5 && (a1 > 5); ->i : Symbol(i, Decl(missingCloseParenStatements.ts, 5, 15)) ->a1 : Symbol(a1, Decl(missingCloseParenStatements.ts, 0, 3)) - } -} diff --git a/testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).types b/testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).types deleted file mode 100644 index 98b2a8ba6fd..00000000000 --- a/testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).types +++ /dev/null @@ -1,69 +0,0 @@ -//// [tests/cases/compiler/missingCloseParenStatements.ts] //// - -=== missingCloseParenStatements.ts === -var a1, a2, a3 = 0; ->a1 : any ->a2 : any ->a3 : number ->0 : 0 - -if ( a1 && (a2 + a3 > 0) { ->a1 && (a2 + a3 > 0) : boolean ->a1 : any ->(a2 + a3 > 0) : boolean ->a2 + a3 > 0 : boolean ->a2 + a3 : any ->a2 : any ->a3 : number ->0 : 0 - - while( (a2 > 0) && a1 ->(a2 > 0) && a1 : any ->(a2 > 0) : boolean ->a2 > 0 : boolean ->a2 : any ->0 : 0 ->a1 : any - { - do { - var i = i + 1; ->i : any ->i + 1 : any ->i : any ->1 : 1 - - a1 = a1 + i; ->a1 = a1 + i : any ->a1 : any ->a1 + i : any ->a1 : any ->i : any - - with ((a2 + a3 > 0) && a1 { ->(a2 + a3 > 0) && a1 : any ->(a2 + a3 > 0) : boolean ->a2 + a3 > 0 : boolean ->a2 + a3 : any ->a2 : any ->a3 : number ->0 : 0 ->a1 : any - - console.log(x); ->console.log(x) : any ->console.log : any ->console : any ->log : any ->x : any - } - } while (i < 5 && (a1 > 5); ->i < 5 && (a1 > 5) : boolean ->i < 5 : boolean ->i : any ->5 : 5 ->(a1 > 5) : boolean ->a1 > 5 : boolean ->a1 : any ->5 : 5 - } -} diff --git a/testdata/baselines/reference/submodule/compiler/moduleElementsInWrongContext.symbols b/testdata/baselines/reference/submodule/compiler/moduleElementsInWrongContext.symbols index 9bb4ff0da42..bd6a13380ea 100644 --- a/testdata/baselines/reference/submodule/compiler/moduleElementsInWrongContext.symbols +++ b/testdata/baselines/reference/submodule/compiler/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/testdata/baselines/reference/submodule/compiler/moduleElementsInWrongContext.symbols.diff b/testdata/baselines/reference/submodule/compiler/moduleElementsInWrongContext.symbols.diff deleted file mode 100644 index 4f9f6ca93e1..00000000000 --- a/testdata/baselines/reference/submodule/compiler/moduleElementsInWrongContext.symbols.diff +++ /dev/null @@ -1,16 +0,0 @@ ---- old.moduleElementsInWrongContext.symbols -+++ new.moduleElementsInWrongContext.symbols -@@= skipped -27, +27 lines =@@ - >v : Symbol(v, Decl(moduleElementsInWrongContext.ts, 14, 7)) - - function foo() { } -->foo : Symbol(foo, Decl(moduleElementsInWrongContext.ts, 14, 10)) -+>foo : Symbol(foo, Decl(moduleElementsInWrongContext.ts, 14, 10), Decl(moduleElementsInWrongContext.ts, 17, 12)) - - export * from "ambient"; - export { foo }; -->foo : Symbol(foo, Decl(moduleElementsInWrongContext.ts, 17, 12)) -+>foo : Symbol(foo, Decl(moduleElementsInWrongContext.ts, 14, 10), Decl(moduleElementsInWrongContext.ts, 17, 12)) - - export { baz as b } from "ambient"; - >b : Symbol(b, Decl(moduleElementsInWrongContext.ts, 18, 12)) \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/sourceMapValidationLabeled.errors.txt b/testdata/baselines/reference/submodule/compiler/sourceMapValidationLabeled.errors.txt new file mode 100644 index 00000000000..f2ac83e9d3f --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/sourceMapValidationLabeled.errors.txt @@ -0,0 +1,8 @@ +sourceMapValidationLabeled.ts(1,1): error TS1344: 'A label is not allowed here. + + +==== sourceMapValidationLabeled.ts (1 errors) ==== + x: + ~ +!!! error TS1344: 'A label is not allowed here. + var b = 10; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/sourceMapValidationLabeled.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/sourceMapValidationLabeled.errors.txt.diff deleted file mode 100644 index a0688793390..00000000000 --- a/testdata/baselines/reference/submodule/compiler/sourceMapValidationLabeled.errors.txt.diff +++ /dev/null @@ -1,12 +0,0 @@ ---- old.sourceMapValidationLabeled.errors.txt -+++ new.sourceMapValidationLabeled.errors.txt -@@= skipped -0, +0 lines =@@ --sourceMapValidationLabeled.ts(1,1): error TS1344: 'A label is not allowed here. -- -- --==== sourceMapValidationLabeled.ts (1 errors) ==== -- x: -- ~ --!!! error TS1344: 'A label is not allowed here. -- var b = 10; -+ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/sourceMapValidationStatements.errors.txt b/testdata/baselines/reference/submodule/compiler/sourceMapValidationStatements.errors.txt index baa166bdcd0..6e6b222c652 100644 --- a/testdata/baselines/reference/submodule/compiler/sourceMapValidationStatements.errors.txt +++ b/testdata/baselines/reference/submodule/compiler/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/testdata/baselines/reference/submodule/compiler/sourceMapValidationStatements.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/sourceMapValidationStatements.errors.txt.diff deleted file mode 100644 index 7d920e10750..00000000000 --- a/testdata/baselines/reference/submodule/compiler/sourceMapValidationStatements.errors.txt.diff +++ /dev/null @@ -1,21 +0,0 @@ ---- old.sourceMapValidationStatements.errors.txt -+++ new.sourceMapValidationStatements.errors.txt -@@= skipped -0, +0 lines =@@ --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 (2 errors) ==== -+==== sourceMapValidationStatements.ts (1 errors) ==== - function f() { - var y; - var x = 0; -@@= skipped -45, +44 lines =@@ - 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; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/strictModeReservedWord.errors.txt b/testdata/baselines/reference/submodule/compiler/strictModeReservedWord.errors.txt index 6789bffd72f..422e7f6d72d 100644 --- a/testdata/baselines/reference/submodule/compiler/strictModeReservedWord.errors.txt +++ b/testdata/baselines/reference/submodule/compiler/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. @@ -45,9 +46,11 @@ strictModeReservedWord.ts(24,5): error TS2349: This expression is not callable. Type 'String' has no call signatures. -==== strictModeReservedWord.ts (44 errors) ==== +==== strictModeReservedWord.ts (45 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/testdata/baselines/reference/submodule/compiler/strictModeReservedWord.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/strictModeReservedWord.errors.txt.diff deleted file mode 100644 index 6bcc821c31e..00000000000 --- a/testdata/baselines/reference/submodule/compiler/strictModeReservedWord.errors.txt.diff +++ /dev/null @@ -1,19 +0,0 @@ ---- old.strictModeReservedWord.errors.txt -+++ new.strictModeReservedWord.errors.txt -@@= skipped -0, +0 lines =@@ --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. -@@= skipped -45, +44 lines =@@ - Type 'String' has no call signatures. - - --==== strictModeReservedWord.ts (45 errors) ==== -+==== strictModeReservedWord.ts (44 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. - \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/strictModeReservedWordInClassDeclaration.errors.txt b/testdata/baselines/reference/submodule/compiler/strictModeReservedWordInClassDeclaration.errors.txt index 918de9b4f05..f35f7ab0bbd 100644 --- a/testdata/baselines/reference/submodule/compiler/strictModeReservedWordInClassDeclaration.errors.txt +++ b/testdata/baselines/reference/submodule/compiler/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,17): error TS7006: Parameter 'private' implicitly has an 'any' type. strictModeReservedWordInClassDeclaration.ts(4,26): error TS1213: Identifier expected. 'public' is a reserved word in strict mode. Class definitions are automatically in strict mode. @@ -33,8 +34,10 @@ strictModeReservedWordInClassDeclaration.ts(28,17): error TS1213: Identifier exp strictModeReservedWordInClassDeclaration.ts(28,17): error TS2304: Cannot find name 'package'. -==== strictModeReservedWordInClassDeclaration.ts (33 errors) ==== +==== strictModeReservedWordInClassDeclaration.ts (34 errors) ==== interface public { } + ~~~~~~ +!!! error TS1212: Identifier expected. 'public' is a reserved word in strict mode. class Foo { constructor(private, public, static) { diff --git a/testdata/baselines/reference/submodule/compiler/strictModeReservedWordInClassDeclaration.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/strictModeReservedWordInClassDeclaration.errors.txt.diff deleted file mode 100644 index f051de14b84..00000000000 --- a/testdata/baselines/reference/submodule/compiler/strictModeReservedWordInClassDeclaration.errors.txt.diff +++ /dev/null @@ -1,19 +0,0 @@ ---- old.strictModeReservedWordInClassDeclaration.errors.txt -+++ new.strictModeReservedWordInClassDeclaration.errors.txt -@@= skipped -0, +0 lines =@@ --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,17): error TS7006: Parameter 'private' implicitly has an 'any' type. - strictModeReservedWordInClassDeclaration.ts(4,26): error TS1213: Identifier expected. 'public' is a reserved word in strict mode. Class definitions are automatically in strict mode. -@@= skipped -33, +32 lines =@@ - strictModeReservedWordInClassDeclaration.ts(28,17): error TS2304: Cannot find name 'package'. - - --==== strictModeReservedWordInClassDeclaration.ts (34 errors) ==== -+==== strictModeReservedWordInClassDeclaration.ts (33 errors) ==== - interface public { } -- ~~~~~~ --!!! error TS1212: Identifier expected. 'public' is a reserved word in strict mode. - - class Foo { - constructor(private, public, static) { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/withStatement.errors.txt b/testdata/baselines/reference/submodule/compiler/withStatement.errors.txt index 5924ab7909d..ca3bae976af 100644 --- a/testdata/baselines/reference/submodule/compiler/withStatement.errors.txt +++ b/testdata/baselines/reference/submodule/compiler/withStatement.errors.txt @@ -1,10 +1,13 @@ +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 (1 errors) ==== +==== withStatement.ts (2 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 diff --git a/testdata/baselines/reference/submodule/compiler/withStatement.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/withStatement.errors.txt.diff deleted file mode 100644 index decc9018855..00000000000 --- a/testdata/baselines/reference/submodule/compiler/withStatement.errors.txt.diff +++ /dev/null @@ -1,17 +0,0 @@ ---- old.withStatement.errors.txt -+++ new.withStatement.errors.txt -@@= skipped -0, +0 lines =@@ --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 (2 errors) ==== -+==== withStatement.ts (1 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 \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/withStatementErrors.errors.txt b/testdata/baselines/reference/submodule/compiler/withStatementErrors.errors.txt index 082bc9f28fc..8e8a9b6d047 100644 --- a/testdata/baselines/reference/submodule/compiler/withStatementErrors.errors.txt +++ b/testdata/baselines/reference/submodule/compiler/withStatementErrors.errors.txt @@ -1,10 +1,13 @@ +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 (1 errors) ==== +==== withStatementErrors.ts (2 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 diff --git a/testdata/baselines/reference/submodule/compiler/withStatementErrors.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/withStatementErrors.errors.txt.diff deleted file mode 100644 index b7a71c97d7e..00000000000 --- a/testdata/baselines/reference/submodule/compiler/withStatementErrors.errors.txt.diff +++ /dev/null @@ -1,17 +0,0 @@ ---- old.withStatementErrors.errors.txt -+++ new.withStatementErrors.errors.txt -@@= skipped -0, +0 lines =@@ --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 (2 errors) ==== -+==== withStatementErrors.ts (1 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 \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/withStatementNestedScope.errors.txt b/testdata/baselines/reference/submodule/compiler/withStatementNestedScope.errors.txt index 5f73f6c6296..8df6e2376f0 100644 --- a/testdata/baselines/reference/submodule/compiler/withStatementNestedScope.errors.txt +++ b/testdata/baselines/reference/submodule/compiler/withStatementNestedScope.errors.txt @@ -1,9 +1,12 @@ +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 (1 errors) ==== +==== withStatementNestedScope.ts (2 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) { diff --git a/testdata/baselines/reference/submodule/compiler/withStatementNestedScope.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/withStatementNestedScope.errors.txt.diff deleted file mode 100644 index 21ca0c9749a..00000000000 --- a/testdata/baselines/reference/submodule/compiler/withStatementNestedScope.errors.txt.diff +++ /dev/null @@ -1,16 +0,0 @@ ---- old.withStatementNestedScope.errors.txt -+++ new.withStatementNestedScope.errors.txt -@@= skipped -0, +0 lines =@@ --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 (2 errors) ==== -+==== withStatementNestedScope.ts (1 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) { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).js deleted file mode 100644 index 5c3a9a9e90c..00000000000 --- a/testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).js +++ /dev/null @@ -1,22 +0,0 @@ -//// [tests/cases/conformance/statements/for-ofStatements/ES5For-of19.ts] //// - -//// [ES5For-of19.ts] -for (let v of []) { - v; - function foo() { - for (const v of []) { - v; - } - } -} - - -//// [ES5For-of19.js] -for (let v of []) { - v; - function foo() { - for (const v of []) { - v; - } - } -} diff --git a/testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).symbols deleted file mode 100644 index 646e312385a..00000000000 --- a/testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).symbols +++ /dev/null @@ -1,21 +0,0 @@ -//// [tests/cases/conformance/statements/for-ofStatements/ES5For-of19.ts] //// - -=== ES5For-of19.ts === -for (let v of []) { ->v : Symbol(v, Decl(ES5For-of19.ts, 0, 8)) - - v; ->v : Symbol(v, Decl(ES5For-of19.ts, 0, 8)) - - function foo() { ->foo : Symbol(foo, Decl(ES5For-of19.ts, 1, 6)) - - for (const v of []) { ->v : Symbol(v, Decl(ES5For-of19.ts, 3, 18)) - - v; ->v : Symbol(v, Decl(ES5For-of19.ts, 3, 18)) - } - } -} - diff --git a/testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).types b/testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).types deleted file mode 100644 index bbe1c2524eb..00000000000 --- a/testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).types +++ /dev/null @@ -1,23 +0,0 @@ -//// [tests/cases/conformance/statements/for-ofStatements/ES5For-of19.ts] //// - -=== ES5For-of19.ts === -for (let v of []) { ->v : any ->[] : undefined[] - - v; ->v : any - - function foo() { ->foo : () => void - - for (const v of []) { ->v : any ->[] : undefined[] - - v; ->v : any - } - } -} - diff --git a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration11_es6.errors.txt b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration11_es6.errors.txt new file mode 100644 index 00000000000..ed6c795761e --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/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/testdata/baselines/reference/submodule/conformance/FunctionDeclaration11_es6.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration11_es6.errors.txt.diff deleted file mode 100644 index 2bc9978b214..00000000000 --- a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration11_es6.errors.txt.diff +++ /dev/null @@ -1,12 +0,0 @@ ---- old.FunctionDeclaration11_es6.errors.txt -+++ new.FunctionDeclaration11_es6.errors.txt -@@= skipped -0, +0 lines =@@ --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/testdata/baselines/reference/submodule/conformance/FunctionDeclaration12_es6.errors.txt b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration12_es6.errors.txt index acdc5c9b2f3..432b3035193 100644 --- a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration12_es6.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/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/testdata/baselines/reference/submodule/conformance/FunctionDeclaration12_es6.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration12_es6.errors.txt.diff deleted file mode 100644 index f54b7c4983f..00000000000 --- a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration12_es6.errors.txt.diff +++ /dev/null @@ -1,12 +0,0 @@ ---- old.FunctionDeclaration12_es6.errors.txt -+++ new.FunctionDeclaration12_es6.errors.txt -@@= skipped -0, +0 lines =@@ --FunctionDeclaration12_es6.ts(1,20): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. -+FunctionDeclaration12_es6.ts(1,20): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. - - - ==== FunctionDeclaration12_es6.ts (1 errors) ==== - var v = function * yield() { } - ~~~~~ --!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. -+!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration13_es6.errors.txt b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration13_es6.errors.txt index ba913e897b9..a828d0def89 100644 --- a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration13_es6.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/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/testdata/baselines/reference/submodule/conformance/FunctionDeclaration13_es6.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration13_es6.errors.txt.diff deleted file mode 100644 index d41cc4564fb..00000000000 --- a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration13_es6.errors.txt.diff +++ /dev/null @@ -1,17 +0,0 @@ ---- old.FunctionDeclaration13_es6.errors.txt -+++ new.FunctionDeclaration13_es6.errors.txt -@@= skipped -0, +0 lines =@@ --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 (2 errors) ==== -+==== FunctionDeclaration13_es6.ts (1 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/testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).js deleted file mode 100644 index b162aa7fe45..00000000000 --- a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).js +++ /dev/null @@ -1,9 +0,0 @@ -//// [tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration2_es6.ts] //// - -//// [FunctionDeclaration2_es6.ts] -function f(yield) { -} - -//// [FunctionDeclaration2_es6.js] -function f(yield) { -} diff --git a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).symbols deleted file mode 100644 index 771277a7e7b..00000000000 --- a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).symbols +++ /dev/null @@ -1,7 +0,0 @@ -//// [tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration2_es6.ts] //// - -=== FunctionDeclaration2_es6.ts === -function f(yield) { ->f : Symbol(f, Decl(FunctionDeclaration2_es6.ts, 0, 0)) ->yield : Symbol(yield, Decl(FunctionDeclaration2_es6.ts, 0, 11)) -} diff --git a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).types b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).types deleted file mode 100644 index caa516a6875..00000000000 --- a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).types +++ /dev/null @@ -1,7 +0,0 @@ -//// [tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration2_es6.ts] //// - -=== FunctionDeclaration2_es6.ts === -function f(yield) { ->f : (yield: any) => void ->yield : any -} diff --git a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration3_es6.errors.txt b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration3_es6.errors.txt index fda4e2c195d..ee922ce1d73 100644 --- a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration3_es6.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration3_es6.errors.txt @@ -1,11 +1,17 @@ +FunctionDeclaration3_es6.ts(1,12): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. FunctionDeclaration3_es6.ts(1,12): error TS7022: 'yield' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer. +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 (2 errors) ==== +==== FunctionDeclaration3_es6.ts (4 errors) ==== function f(yield = yield) { + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. ~~~~~~~~~~~~~ !!! error TS7022: 'yield' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer. ~~~~~ +!!! 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/testdata/baselines/reference/submodule/conformance/FunctionDeclaration3_es6.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration3_es6.errors.txt.diff deleted file mode 100644 index 2790a8f6b3c..00000000000 --- a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration3_es6.errors.txt.diff +++ /dev/null @@ -1,21 +0,0 @@ ---- old.FunctionDeclaration3_es6.errors.txt -+++ new.FunctionDeclaration3_es6.errors.txt -@@= skipped -0, +0 lines =@@ --FunctionDeclaration3_es6.ts(1,12): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. - FunctionDeclaration3_es6.ts(1,12): error TS7022: 'yield' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer. --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 (4 errors) ==== -+==== FunctionDeclaration3_es6.ts (2 errors) ==== - function f(yield = yield) { -- ~~~~~ --!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. - ~~~~~~~~~~~~~ - !!! error TS7022: 'yield' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer. -- ~~~~~ --!!! 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/testdata/baselines/reference/submodule/conformance/FunctionDeclaration4_es6.errors.txt b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration4_es6.errors.txt new file mode 100644 index 00000000000..30e994926cb --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/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/testdata/baselines/reference/submodule/conformance/FunctionDeclaration4_es6.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration4_es6.errors.txt.diff deleted file mode 100644 index 6f71e368305..00000000000 --- a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration4_es6.errors.txt.diff +++ /dev/null @@ -1,12 +0,0 @@ ---- old.FunctionDeclaration4_es6.errors.txt -+++ new.FunctionDeclaration4_es6.errors.txt -@@= skipped -0, +0 lines =@@ --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/testdata/baselines/reference/submodule/conformance/FunctionDeclaration5_es6.errors.txt b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration5_es6.errors.txt index ffa97343c65..7f909037a70 100644 --- a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration5_es6.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration5_es6.errors.txt @@ -1,11 +1,11 @@ -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,14): error TS7006: Parameter 'yield' implicitly has an 'any' type. ==== FunctionDeclaration5_es6.ts (2 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. ~~~~~ !!! error TS7006: Parameter 'yield' implicitly has an 'any' type. } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration5_es6.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration5_es6.errors.txt.diff deleted file mode 100644 index 6253cf960c4..00000000000 --- a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration5_es6.errors.txt.diff +++ /dev/null @@ -1,16 +0,0 @@ ---- old.FunctionDeclaration5_es6.errors.txt -+++ new.FunctionDeclaration5_es6.errors.txt -@@= skipped -0, +0 lines =@@ --FunctionDeclaration5_es6.ts(1,14): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. -+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 TS7006: Parameter 'yield' implicitly has an 'any' type. - - - ==== FunctionDeclaration5_es6.ts (2 errors) ==== - function*foo(yield) { - ~~~~~ --!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. -+!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. - ~~~~~ - !!! error TS7006: Parameter 'yield' implicitly has an 'any' type. - } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration8_es6.errors.txt b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration8_es6.errors.txt index d649f8ef8b3..972a640900c 100644 --- a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration8_es6.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/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/testdata/baselines/reference/submodule/conformance/FunctionDeclaration8_es6.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration8_es6.errors.txt.diff deleted file mode 100644 index 8649268ef56..00000000000 --- a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration8_es6.errors.txt.diff +++ /dev/null @@ -1,16 +0,0 @@ ---- old.FunctionDeclaration8_es6.errors.txt -+++ new.FunctionDeclaration8_es6.errors.txt -@@= skipped -0, +0 lines =@@ --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 (3 errors) ==== -+==== FunctionDeclaration8_es6.ts (2 errors) ==== - var v = { [yield]: foo } -- ~~~~~ --!!! 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/testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).errors.txt deleted file mode 100644 index 20fd93f7c5c..00000000000 --- a/testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).errors.txt +++ /dev/null @@ -1,46 +0,0 @@ -NonInitializedExportInInternalModule.ts(2,8): error TS1123: Variable declaration list cannot be empty. -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) ==== - namespace Inner { - var; - -!!! error TS1123: Variable declaration list cannot be empty. - let; - ~~~ -!!! error TS2304: Cannot find name 'let'. - const; - -!!! error TS1123: Variable declaration list cannot be empty. - - export var a; - export let b; - export var c: string; - export let d: number; - class A {} - export var e: A; - export let f: A; - - namespace B { - export let a = 1, b, c = 2; - export let x, y, z; - } - - namespace C { - export var a = 1, b, c = 2; - export var x, y, z; - } - - // Shouldn't be filtered - export var a1 = 1; - export let b1 = 1; - export var c1: string = 'a'; - export let d1: number = 1; - class D {} - export var e1 = new D; - export let f1 = new D; - export var g1: D = new D; - export let h1: D = new D; - } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).js deleted file mode 100644 index ecc4cb85f40..00000000000 --- a/testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).js +++ /dev/null @@ -1,66 +0,0 @@ -//// [tests/cases/conformance/internalModules/exportDeclarations/NonInitializedExportInInternalModule.ts] //// - -//// [NonInitializedExportInInternalModule.ts] -namespace Inner { - var; - let; - const; - - export var a; - export let b; - export var c: string; - export let d: number; - class A {} - export var e: A; - export let f: A; - - namespace B { - export let a = 1, b, c = 2; - export let x, y, z; - } - - namespace C { - export var a = 1, b, c = 2; - export var x, y, z; - } - - // Shouldn't be filtered - export var a1 = 1; - export let b1 = 1; - export var c1: string = 'a'; - export let d1: number = 1; - class D {} - export var e1 = new D; - export let f1 = new D; - export var g1: D = new D; - export let h1: D = new D; -} - -//// [NonInitializedExportInInternalModule.js] -var Inner; -(function (Inner) { - var ; - let; - const ; - class A { - } - let B; - (function (B) { - B.a = 1, B.c = 2; - })(B || (B = {})); - let C; - (function (C) { - C.a = 1, C.c = 2; - })(C || (C = {})); - // Shouldn't be filtered - Inner.a1 = 1; - Inner.b1 = 1; - Inner.c1 = 'a'; - Inner.d1 = 1; - class D { - } - Inner.e1 = new D; - Inner.f1 = new D; - Inner.g1 = new D; - Inner.h1 = new D; -})(Inner || (Inner = {})); diff --git a/testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).symbols deleted file mode 100644 index 62f7c0d2e52..00000000000 --- a/testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).symbols +++ /dev/null @@ -1,95 +0,0 @@ -//// [tests/cases/conformance/internalModules/exportDeclarations/NonInitializedExportInInternalModule.ts] //// - -=== NonInitializedExportInInternalModule.ts === -namespace Inner { ->Inner : Symbol(Inner, Decl(NonInitializedExportInInternalModule.ts, 0, 0)) - - var; - let; - const; - - export var a; ->a : Symbol(a, Decl(NonInitializedExportInInternalModule.ts, 5, 14)) - - export let b; ->b : Symbol(b, Decl(NonInitializedExportInInternalModule.ts, 6, 14)) - - export var c: string; ->c : Symbol(c, Decl(NonInitializedExportInInternalModule.ts, 7, 14)) - - export let d: number; ->d : Symbol(d, Decl(NonInitializedExportInInternalModule.ts, 8, 14)) - - class A {} ->A : Symbol(A, Decl(NonInitializedExportInInternalModule.ts, 8, 25)) - - export var e: A; ->e : Symbol(e, Decl(NonInitializedExportInInternalModule.ts, 10, 14)) ->A : Symbol(A, Decl(NonInitializedExportInInternalModule.ts, 8, 25)) - - export let f: A; ->f : Symbol(f, Decl(NonInitializedExportInInternalModule.ts, 11, 14)) ->A : Symbol(A, Decl(NonInitializedExportInInternalModule.ts, 8, 25)) - - namespace B { ->B : Symbol(B, Decl(NonInitializedExportInInternalModule.ts, 11, 20)) - - export let a = 1, b, c = 2; ->a : Symbol(a, Decl(NonInitializedExportInInternalModule.ts, 14, 18)) ->b : Symbol(b, Decl(NonInitializedExportInInternalModule.ts, 14, 25)) ->c : Symbol(c, Decl(NonInitializedExportInInternalModule.ts, 14, 28)) - - export let x, y, z; ->x : Symbol(x, Decl(NonInitializedExportInInternalModule.ts, 15, 18)) ->y : Symbol(y, Decl(NonInitializedExportInInternalModule.ts, 15, 21)) ->z : Symbol(z, Decl(NonInitializedExportInInternalModule.ts, 15, 24)) - } - - namespace C { ->C : Symbol(C, Decl(NonInitializedExportInInternalModule.ts, 16, 5)) - - export var a = 1, b, c = 2; ->a : Symbol(a, Decl(NonInitializedExportInInternalModule.ts, 19, 18)) ->b : Symbol(b, Decl(NonInitializedExportInInternalModule.ts, 19, 25)) ->c : Symbol(c, Decl(NonInitializedExportInInternalModule.ts, 19, 28)) - - export var x, y, z; ->x : Symbol(x, Decl(NonInitializedExportInInternalModule.ts, 20, 18)) ->y : Symbol(y, Decl(NonInitializedExportInInternalModule.ts, 20, 21)) ->z : Symbol(z, Decl(NonInitializedExportInInternalModule.ts, 20, 24)) - } - - // Shouldn't be filtered - export var a1 = 1; ->a1 : Symbol(a1, Decl(NonInitializedExportInInternalModule.ts, 24, 14)) - - export let b1 = 1; ->b1 : Symbol(b1, Decl(NonInitializedExportInInternalModule.ts, 25, 14)) - - export var c1: string = 'a'; ->c1 : Symbol(c1, Decl(NonInitializedExportInInternalModule.ts, 26, 14)) - - export let d1: number = 1; ->d1 : Symbol(d1, Decl(NonInitializedExportInInternalModule.ts, 27, 14)) - - class D {} ->D : Symbol(D, Decl(NonInitializedExportInInternalModule.ts, 27, 30)) - - export var e1 = new D; ->e1 : Symbol(e1, Decl(NonInitializedExportInInternalModule.ts, 29, 14)) ->D : Symbol(D, Decl(NonInitializedExportInInternalModule.ts, 27, 30)) - - export let f1 = new D; ->f1 : Symbol(f1, Decl(NonInitializedExportInInternalModule.ts, 30, 14)) ->D : Symbol(D, Decl(NonInitializedExportInInternalModule.ts, 27, 30)) - - export var g1: D = new D; ->g1 : Symbol(g1, Decl(NonInitializedExportInInternalModule.ts, 31, 14)) ->D : Symbol(D, Decl(NonInitializedExportInInternalModule.ts, 27, 30)) ->D : Symbol(D, Decl(NonInitializedExportInInternalModule.ts, 27, 30)) - - export let h1: D = new D; ->h1 : Symbol(h1, Decl(NonInitializedExportInInternalModule.ts, 32, 14)) ->D : Symbol(D, Decl(NonInitializedExportInInternalModule.ts, 27, 30)) ->D : Symbol(D, Decl(NonInitializedExportInInternalModule.ts, 27, 30)) -} diff --git a/testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).types b/testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).types deleted file mode 100644 index 3271a7d1ec3..00000000000 --- a/testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).types +++ /dev/null @@ -1,105 +0,0 @@ -//// [tests/cases/conformance/internalModules/exportDeclarations/NonInitializedExportInInternalModule.ts] //// - -=== NonInitializedExportInInternalModule.ts === -namespace Inner { ->Inner : typeof Inner - - var; - let; ->let : any - - const; - - export var a; ->a : any - - export let b; ->b : any - - export var c: string; ->c : string - - export let d: number; ->d : number - - class A {} ->A : A - - export var e: A; ->e : A - - export let f: A; ->f : A - - namespace B { ->B : typeof B - - export let a = 1, b, c = 2; ->a : number ->1 : 1 ->b : any ->c : number ->2 : 2 - - export let x, y, z; ->x : any ->y : any ->z : any - } - - namespace C { ->C : typeof C - - export var a = 1, b, c = 2; ->a : number ->1 : 1 ->b : any ->c : number ->2 : 2 - - export var x, y, z; ->x : any ->y : any ->z : any - } - - // Shouldn't be filtered - export var a1 = 1; ->a1 : number ->1 : 1 - - export let b1 = 1; ->b1 : number ->1 : 1 - - export var c1: string = 'a'; ->c1 : string ->'a' : "a" - - export let d1: number = 1; ->d1 : number ->1 : 1 - - class D {} ->D : D - - export var e1 = new D; ->e1 : D ->new D : D ->D : typeof D - - export let f1 = new D; ->f1 : D ->new D : D ->D : typeof D - - export var g1: D = new D; ->g1 : D ->new D : D ->D : typeof D - - export let h1: D = new D; ->h1 : D ->new D : D ->D : typeof D -} diff --git a/testdata/baselines/reference/submodule/conformance/VariableDeclaration6_es6.errors.txt b/testdata/baselines/reference/submodule/conformance/VariableDeclaration6_es6.errors.txt index a4750166840..f6d10640284 100644 --- a/testdata/baselines/reference/submodule/conformance/VariableDeclaration6_es6.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/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/testdata/baselines/reference/submodule/conformance/VariableDeclaration6_es6.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/VariableDeclaration6_es6.errors.txt.diff deleted file mode 100644 index 27506d9553c..00000000000 --- a/testdata/baselines/reference/submodule/conformance/VariableDeclaration6_es6.errors.txt.diff +++ /dev/null @@ -1,14 +0,0 @@ ---- old.VariableDeclaration6_es6.errors.txt -+++ new.VariableDeclaration6_es6.errors.txt -@@= skipped -0, +0 lines =@@ --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 (2 errors) ==== -+==== VariableDeclaration6_es6.ts (1 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/testdata/baselines/reference/submodule/conformance/YieldExpression1_es6.errors.txt b/testdata/baselines/reference/submodule/conformance/YieldExpression1_es6.errors.txt index 5c5cf3714b9..853cf1ff814 100644 --- a/testdata/baselines/reference/submodule/conformance/YieldExpression1_es6.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/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/testdata/baselines/reference/submodule/conformance/YieldExpression1_es6.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/YieldExpression1_es6.errors.txt.diff deleted file mode 100644 index dcc301f3f46..00000000000 --- a/testdata/baselines/reference/submodule/conformance/YieldExpression1_es6.errors.txt.diff +++ /dev/null @@ -1,14 +0,0 @@ ---- old.YieldExpression1_es6.errors.txt -+++ new.YieldExpression1_es6.errors.txt -@@= skipped -0, +0 lines =@@ --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 (2 errors) ==== -+==== YieldExpression1_es6.ts (1 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/testdata/baselines/reference/submodule/conformance/YieldExpression8_es6.errors.txt b/testdata/baselines/reference/submodule/conformance/YieldExpression8_es6.errors.txt index e7db07eb354..f5047733b6a 100644 --- a/testdata/baselines/reference/submodule/conformance/YieldExpression8_es6.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/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/testdata/baselines/reference/submodule/conformance/YieldExpression8_es6.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/YieldExpression8_es6.errors.txt.diff deleted file mode 100644 index 79f2f97ad53..00000000000 --- a/testdata/baselines/reference/submodule/conformance/YieldExpression8_es6.errors.txt.diff +++ /dev/null @@ -1,15 +0,0 @@ ---- old.YieldExpression8_es6.errors.txt -+++ new.YieldExpression8_es6.errors.txt -@@= skipped -0, +0 lines =@@ --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 (2 errors) ==== -+==== YieldExpression8_es6.ts (1 errors) ==== - yield(foo); -- ~~~~~ --!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. - ~~~~~ - !!! error TS2304: Cannot find name 'yield'. - function* foo() { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/YieldStarExpression1_es6.errors.txt b/testdata/baselines/reference/submodule/conformance/YieldStarExpression1_es6.errors.txt index e7776535f90..cf59d189bc3 100644 --- a/testdata/baselines/reference/submodule/conformance/YieldStarExpression1_es6.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/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/testdata/baselines/reference/submodule/conformance/YieldStarExpression1_es6.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/YieldStarExpression1_es6.errors.txt.diff deleted file mode 100644 index 71c990a92e2..00000000000 --- a/testdata/baselines/reference/submodule/conformance/YieldStarExpression1_es6.errors.txt.diff +++ /dev/null @@ -1,16 +0,0 @@ ---- old.YieldStarExpression1_es6.errors.txt -+++ new.YieldStarExpression1_es6.errors.txt -@@= skipped -0, +0 lines =@@ --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 (3 errors) ==== -+==== YieldStarExpression1_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/testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).errors.txt deleted file mode 100644 index 5d9a5ef3237..00000000000 --- a/testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).errors.txt +++ /dev/null @@ -1,116 +0,0 @@ -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 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) ==== - // Arrow function used in with statement - with (window) { - ~~~~~~~~~~~~~ -!!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. - var p = () => this; - } - - // Arrow function as argument to super call - class Base { - constructor(n: any) { } - } - - class Derived extends Base { - constructor() { - super(() => this); - } - } - - // Arrow function as function argument - window.setTimeout(() => null, 100); - - // Arrow function as value in array literal - - var obj = (n: number) => ''; - var obj: { (n: number): string; }; // OK - - var arr = [(n: number) => '']; - var arr: { (n: number): string; }[]; // Incorrect error here (bug 829597) - - // Arrow function as enum value - enum E { - x = () => 4, // Error expected - ~~~~~~~ -!!! error TS18033: Type '() => number' is not assignable to type 'number' as required for computed enum member values. - y = (() => this).length // error, can't use this in enum - ~~~~ -!!! error TS2332: 'this' cannot be referenced in current location. - } - - // Arrow function as module variable initializer - namespace M { - export var a = (s) => ''; - var b = (s) => s; - } - - // Repeat above for module members that are functions? (necessary to redo all of them?) - namespace M2 { - // Arrow function used in with statement - with (window) { - ~~~~~~~~~~~~~ -!!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. - var p = () => this; - } - - // Arrow function as argument to super call - class Base { - constructor(n: any) { } - } - - class Derived extends Base { - constructor() { - super(() => this); - } - } - - // Arrow function as function argument - window.setTimeout(() => null, 100); - - // Arrow function as value in array literal - - var obj = (n: number) => ''; - var obj: { (n: number): string; }; // OK - - var arr = [(n: number) => '']; - var arr: { (n: number): string; }[]; // Incorrect error here (bug 829597) - - // Arrow function as enum value - enum E { - x = () => 4, // Error expected - ~~~~~~~ -!!! error TS18033: Type '() => number' is not assignable to type 'number' as required for computed enum member values. - y = (() => this).length - ~~~~ -!!! error TS2332: 'this' cannot be referenced in current location. - } - - // Arrow function as module variable initializer - namespace M { - export var a = (s) => ''; - var b = (s) => s; - } - - } - - // (ParamList) => { ... } is a generic arrow function - var generic1 = (n: T) => [n]; - var generic1: { (n: T): T[] }; // Incorrect error, Bug 829597 - var generic2 = (n: T) => { return [n]; }; - var generic2: { (n: T): T[] }; - - // ((ParamList) => { ... } ) is a type assertion to an arrow function - var asserted1 = ((n) => [n]); - var asserted1: any; - var asserted2 = ((n) => { return n; }); - var asserted2: any; - - \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).js deleted file mode 100644 index 8403bce7ee4..00000000000 --- a/testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).js +++ /dev/null @@ -1,182 +0,0 @@ -//// [tests/cases/conformance/expressions/functions/arrowFunctionContexts.ts] //// - -//// [arrowFunctionContexts.ts] -// Arrow function used in with statement -with (window) { - var p = () => this; -} - -// Arrow function as argument to super call -class Base { - constructor(n: any) { } -} - -class Derived extends Base { - constructor() { - super(() => this); - } -} - -// Arrow function as function argument -window.setTimeout(() => null, 100); - -// Arrow function as value in array literal - -var obj = (n: number) => ''; -var obj: { (n: number): string; }; // OK - -var arr = [(n: number) => '']; -var arr: { (n: number): string; }[]; // Incorrect error here (bug 829597) - -// Arrow function as enum value -enum E { - x = () => 4, // Error expected - y = (() => this).length // error, can't use this in enum -} - -// Arrow function as module variable initializer -namespace M { - export var a = (s) => ''; - var b = (s) => s; -} - -// Repeat above for module members that are functions? (necessary to redo all of them?) -namespace M2 { - // Arrow function used in with statement - with (window) { - var p = () => this; - } - - // Arrow function as argument to super call - class Base { - constructor(n: any) { } - } - - class Derived extends Base { - constructor() { - super(() => this); - } - } - - // Arrow function as function argument - window.setTimeout(() => null, 100); - - // Arrow function as value in array literal - - var obj = (n: number) => ''; - var obj: { (n: number): string; }; // OK - - var arr = [(n: number) => '']; - var arr: { (n: number): string; }[]; // Incorrect error here (bug 829597) - - // Arrow function as enum value - enum E { - x = () => 4, // Error expected - y = (() => this).length - } - - // Arrow function as module variable initializer - namespace M { - export var a = (s) => ''; - var b = (s) => s; - } - -} - -// (ParamList) => { ... } is a generic arrow function -var generic1 = (n: T) => [n]; -var generic1: { (n: T): T[] }; // Incorrect error, Bug 829597 -var generic2 = (n: T) => { return [n]; }; -var generic2: { (n: T): T[] }; - -// ((ParamList) => { ... } ) is a type assertion to an arrow function -var asserted1 = ((n) => [n]); -var asserted1: any; -var asserted2 = ((n) => { return n; }); -var asserted2: any; - - - -//// [arrowFunctionContexts.js] -// Arrow function used in with statement -with (window) { - var p = () => this; -} -// Arrow function as argument to super call -class Base { - constructor(n) { } -} -class Derived extends Base { - constructor() { - super(() => this); - } -} -// Arrow function as function argument -window.setTimeout(() => null, 100); -// Arrow function as value in array literal -var obj = (n) => ''; -var obj; // OK -var arr = [(n) => '']; -var arr; // Incorrect error here (bug 829597) -// Arrow function as enum value -var E; -(function (E) { - E["x"] = () => 4; - if (typeof E.x !== "string") E[E.x] = "x"; - E["y"] = (() => this).length; // error, can't use this in enum - if (typeof E.y !== "string") E[E.y] = "y"; -})(E || (E = {})); -// Arrow function as module variable initializer -var M; -(function (M) { - M.a = (s) => ''; - var b = (s) => s; -})(M || (M = {})); -// Repeat above for module members that are functions? (necessary to redo all of them?) -var M2; -(function (M2) { - // Arrow function used in with statement - with (window) { - var p = () => this; - } - // Arrow function as argument to super call - class Base { - constructor(n) { } - } - class Derived extends Base { - constructor() { - super(() => this); - } - } - // Arrow function as function argument - window.setTimeout(() => null, 100); - // Arrow function as value in array literal - var obj = (n) => ''; - var obj; // OK - var arr = [(n) => '']; - var arr; // Incorrect error here (bug 829597) - // Arrow function as enum value - let E; - (function (E) { - E["x"] = () => 4; - if (typeof E.x !== "string") E[E.x] = "x"; - E["y"] = (() => this).length; - if (typeof E.y !== "string") E[E.y] = "y"; - })(E || (E = {})); - // Arrow function as module variable initializer - let M; - (function (M) { - M.a = (s) => ''; - var b = (s) => s; - })(M || (M = {})); -})(M2 || (M2 = {})); -// (ParamList) => { ... } is a generic arrow function -var generic1 = (n) => [n]; -var generic1; // Incorrect error, Bug 829597 -var generic2 = (n) => { return [n]; }; -var generic2; -// ((ParamList) => { ... } ) is a type assertion to an arrow function -var asserted1 = ((n) => [n]); -var asserted1; -var asserted2 = ((n) => { return n; }); -var asserted2; diff --git a/testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).js.diff deleted file mode 100644 index 6631ab4c7c9..00000000000 --- a/testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).js.diff +++ /dev/null @@ -1,28 +0,0 @@ ---- old.arrowFunctionContexts(alwaysstrict=false).js -+++ new.arrowFunctionContexts(alwaysstrict=false).js -@@= skipped -120, +120 lines =@@ - // Arrow function as enum value - var E; - (function (E) { -- E[E["x"] = () => 4] = "x"; -- E[E["y"] = (() => this).length] = "y"; // error, can't use this in enum -+ E["x"] = () => 4; -+ if (typeof E.x !== "string") E[E.x] = "x"; -+ E["y"] = (() => this).length; // error, can't use this in enum -+ if (typeof E.y !== "string") E[E.y] = "y"; - })(E || (E = {})); - // Arrow function as module variable initializer - var M; -@@= skipped -35, +37 lines =@@ - // Arrow function as enum value - let E; - (function (E) { -- E[E["x"] = () => 4] = "x"; -- E[E["y"] = (() => this).length] = "y"; -+ E["x"] = () => 4; -+ if (typeof E.x !== "string") E[E.x] = "x"; -+ E["y"] = (() => this).length; -+ if (typeof E.y !== "string") E[E.y] = "y"; - })(E || (E = {})); - // Arrow function as module variable initializer - let M; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).symbols deleted file mode 100644 index 3f0542e16a4..00000000000 --- a/testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).symbols +++ /dev/null @@ -1,210 +0,0 @@ -//// [tests/cases/conformance/expressions/functions/arrowFunctionContexts.ts] //// - -=== arrowFunctionContexts.ts === -// Arrow function used in with statement -with (window) { ->window : Symbol(window, Decl(lib.dom.d.ts, --, --)) - - var p = () => this; -} - -// Arrow function as argument to super call -class Base { ->Base : Symbol(Base, Decl(arrowFunctionContexts.ts, 3, 1)) - - constructor(n: any) { } ->n : Symbol(n, Decl(arrowFunctionContexts.ts, 7, 16)) -} - -class Derived extends Base { ->Derived : Symbol(Derived, Decl(arrowFunctionContexts.ts, 8, 1)) ->Base : Symbol(Base, Decl(arrowFunctionContexts.ts, 3, 1)) - - constructor() { - super(() => this); ->super : Symbol(Base, Decl(arrowFunctionContexts.ts, 3, 1)) ->this : Symbol(Derived, Decl(arrowFunctionContexts.ts, 8, 1)) - } -} - -// Arrow function as function argument -window.setTimeout(() => null, 100); ->window.setTimeout : Symbol(setTimeout, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) ->window : Symbol(window, Decl(lib.dom.d.ts, --, --)) ->setTimeout : Symbol(setTimeout, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) - -// Arrow function as value in array literal - -var obj = (n: number) => ''; ->obj : Symbol(obj, Decl(arrowFunctionContexts.ts, 21, 3), Decl(arrowFunctionContexts.ts, 22, 3)) ->n : Symbol(n, Decl(arrowFunctionContexts.ts, 21, 11)) - -var obj: { (n: number): string; }; // OK ->obj : Symbol(obj, Decl(arrowFunctionContexts.ts, 21, 3), Decl(arrowFunctionContexts.ts, 22, 3)) ->n : Symbol(n, Decl(arrowFunctionContexts.ts, 22, 12)) - -var arr = [(n: number) => '']; ->arr : Symbol(arr, Decl(arrowFunctionContexts.ts, 24, 3), Decl(arrowFunctionContexts.ts, 25, 3)) ->n : Symbol(n, Decl(arrowFunctionContexts.ts, 24, 12)) - -var arr: { (n: number): string; }[]; // Incorrect error here (bug 829597) ->arr : Symbol(arr, Decl(arrowFunctionContexts.ts, 24, 3), Decl(arrowFunctionContexts.ts, 25, 3)) ->n : Symbol(n, Decl(arrowFunctionContexts.ts, 25, 12)) - -// Arrow function as enum value -enum E { ->E : Symbol(E, Decl(arrowFunctionContexts.ts, 25, 36)) - - x = () => 4, // Error expected ->x : Symbol(E.x, Decl(arrowFunctionContexts.ts, 28, 8)) - - y = (() => this).length // error, can't use this in enum ->y : Symbol(E.y, Decl(arrowFunctionContexts.ts, 29, 16)) ->(() => this).length : Symbol(Function.length, Decl(lib.es5.d.ts, --, --)) ->length : Symbol(Function.length, Decl(lib.es5.d.ts, --, --)) -} - -// Arrow function as module variable initializer -namespace M { ->M : Symbol(M, Decl(arrowFunctionContexts.ts, 31, 1)) - - export var a = (s) => ''; ->a : Symbol(a, Decl(arrowFunctionContexts.ts, 35, 14)) ->s : Symbol(s, Decl(arrowFunctionContexts.ts, 35, 20)) - - var b = (s) => s; ->b : Symbol(b, Decl(arrowFunctionContexts.ts, 36, 7)) ->s : Symbol(s, Decl(arrowFunctionContexts.ts, 36, 13)) ->s : Symbol(s, Decl(arrowFunctionContexts.ts, 36, 13)) -} - -// Repeat above for module members that are functions? (necessary to redo all of them?) -namespace M2 { ->M2 : Symbol(M2, Decl(arrowFunctionContexts.ts, 37, 1)) - - // Arrow function used in with statement - with (window) { ->window : Symbol(window, Decl(lib.dom.d.ts, --, --)) - - var p = () => this; - } - - // Arrow function as argument to super call - class Base { ->Base : Symbol(Base, Decl(arrowFunctionContexts.ts, 44, 5)) - - constructor(n: any) { } ->n : Symbol(n, Decl(arrowFunctionContexts.ts, 48, 20)) - } - - class Derived extends Base { ->Derived : Symbol(Derived, Decl(arrowFunctionContexts.ts, 49, 5)) ->Base : Symbol(Base, Decl(arrowFunctionContexts.ts, 44, 5)) - - constructor() { - super(() => this); ->super : Symbol(Base, Decl(arrowFunctionContexts.ts, 44, 5)) ->this : Symbol(Derived, Decl(arrowFunctionContexts.ts, 49, 5)) - } - } - - // Arrow function as function argument - window.setTimeout(() => null, 100); ->window.setTimeout : Symbol(setTimeout, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) ->window : Symbol(window, Decl(lib.dom.d.ts, --, --)) ->setTimeout : Symbol(setTimeout, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) - - // Arrow function as value in array literal - - var obj = (n: number) => ''; ->obj : Symbol(obj, Decl(arrowFunctionContexts.ts, 62, 7), Decl(arrowFunctionContexts.ts, 63, 7)) ->n : Symbol(n, Decl(arrowFunctionContexts.ts, 62, 15)) - - var obj: { (n: number): string; }; // OK ->obj : Symbol(obj, Decl(arrowFunctionContexts.ts, 62, 7), Decl(arrowFunctionContexts.ts, 63, 7)) ->n : Symbol(n, Decl(arrowFunctionContexts.ts, 63, 16)) - - var arr = [(n: number) => '']; ->arr : Symbol(arr, Decl(arrowFunctionContexts.ts, 65, 7), Decl(arrowFunctionContexts.ts, 66, 7)) ->n : Symbol(n, Decl(arrowFunctionContexts.ts, 65, 16)) - - var arr: { (n: number): string; }[]; // Incorrect error here (bug 829597) ->arr : Symbol(arr, Decl(arrowFunctionContexts.ts, 65, 7), Decl(arrowFunctionContexts.ts, 66, 7)) ->n : Symbol(n, Decl(arrowFunctionContexts.ts, 66, 16)) - - // Arrow function as enum value - enum E { ->E : Symbol(E, Decl(arrowFunctionContexts.ts, 66, 40)) - - x = () => 4, // Error expected ->x : Symbol(E.x, Decl(arrowFunctionContexts.ts, 69, 12)) - - y = (() => this).length ->y : Symbol(E.y, Decl(arrowFunctionContexts.ts, 70, 20)) ->(() => this).length : Symbol(Function.length, Decl(lib.es5.d.ts, --, --)) ->length : Symbol(Function.length, Decl(lib.es5.d.ts, --, --)) - } - - // Arrow function as module variable initializer - namespace M { ->M : Symbol(M, Decl(arrowFunctionContexts.ts, 72, 5)) - - export var a = (s) => ''; ->a : Symbol(a, Decl(arrowFunctionContexts.ts, 76, 18)) ->s : Symbol(s, Decl(arrowFunctionContexts.ts, 76, 24)) - - var b = (s) => s; ->b : Symbol(b, Decl(arrowFunctionContexts.ts, 77, 11)) ->s : Symbol(s, Decl(arrowFunctionContexts.ts, 77, 17)) ->s : Symbol(s, Decl(arrowFunctionContexts.ts, 77, 17)) - } - -} - -// (ParamList) => { ... } is a generic arrow function -var generic1 = (n: T) => [n]; ->generic1 : Symbol(generic1, Decl(arrowFunctionContexts.ts, 83, 3), Decl(arrowFunctionContexts.ts, 84, 3)) ->T : Symbol(T, Decl(arrowFunctionContexts.ts, 83, 16)) ->n : Symbol(n, Decl(arrowFunctionContexts.ts, 83, 19)) ->T : Symbol(T, Decl(arrowFunctionContexts.ts, 83, 16)) ->n : Symbol(n, Decl(arrowFunctionContexts.ts, 83, 19)) - -var generic1: { (n: T): T[] }; // Incorrect error, Bug 829597 ->generic1 : Symbol(generic1, Decl(arrowFunctionContexts.ts, 83, 3), Decl(arrowFunctionContexts.ts, 84, 3)) ->T : Symbol(T, Decl(arrowFunctionContexts.ts, 84, 17)) ->n : Symbol(n, Decl(arrowFunctionContexts.ts, 84, 20)) ->T : Symbol(T, Decl(arrowFunctionContexts.ts, 84, 17)) ->T : Symbol(T, Decl(arrowFunctionContexts.ts, 84, 17)) - -var generic2 = (n: T) => { return [n]; }; ->generic2 : Symbol(generic2, Decl(arrowFunctionContexts.ts, 85, 3), Decl(arrowFunctionContexts.ts, 86, 3)) ->T : Symbol(T, Decl(arrowFunctionContexts.ts, 85, 16)) ->n : Symbol(n, Decl(arrowFunctionContexts.ts, 85, 19)) ->T : Symbol(T, Decl(arrowFunctionContexts.ts, 85, 16)) ->n : Symbol(n, Decl(arrowFunctionContexts.ts, 85, 19)) - -var generic2: { (n: T): T[] }; ->generic2 : Symbol(generic2, Decl(arrowFunctionContexts.ts, 85, 3), Decl(arrowFunctionContexts.ts, 86, 3)) ->T : Symbol(T, Decl(arrowFunctionContexts.ts, 86, 17)) ->n : Symbol(n, Decl(arrowFunctionContexts.ts, 86, 20)) ->T : Symbol(T, Decl(arrowFunctionContexts.ts, 86, 17)) ->T : Symbol(T, Decl(arrowFunctionContexts.ts, 86, 17)) - -// ((ParamList) => { ... } ) is a type assertion to an arrow function -var asserted1 = ((n) => [n]); ->asserted1 : Symbol(asserted1, Decl(arrowFunctionContexts.ts, 89, 3), Decl(arrowFunctionContexts.ts, 90, 3)) ->n : Symbol(n, Decl(arrowFunctionContexts.ts, 89, 23)) ->n : Symbol(n, Decl(arrowFunctionContexts.ts, 89, 23)) - -var asserted1: any; ->asserted1 : Symbol(asserted1, Decl(arrowFunctionContexts.ts, 89, 3), Decl(arrowFunctionContexts.ts, 90, 3)) - -var asserted2 = ((n) => { return n; }); ->asserted2 : Symbol(asserted2, Decl(arrowFunctionContexts.ts, 91, 3), Decl(arrowFunctionContexts.ts, 92, 3)) ->n : Symbol(n, Decl(arrowFunctionContexts.ts, 91, 23)) ->n : Symbol(n, Decl(arrowFunctionContexts.ts, 91, 23)) - -var asserted2: any; ->asserted2 : Symbol(asserted2, Decl(arrowFunctionContexts.ts, 91, 3), Decl(arrowFunctionContexts.ts, 92, 3)) - - diff --git a/testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).types b/testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).types deleted file mode 100644 index 17c3474bc12..00000000000 --- a/testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).types +++ /dev/null @@ -1,253 +0,0 @@ -//// [tests/cases/conformance/expressions/functions/arrowFunctionContexts.ts] //// - -=== arrowFunctionContexts.ts === -// Arrow function used in with statement -with (window) { ->window : Window & typeof globalThis - - var p = () => this; ->p : any ->() => this : any ->this : any -} - -// Arrow function as argument to super call -class Base { ->Base : Base - - constructor(n: any) { } ->n : any -} - -class Derived extends Base { ->Derived : Derived ->Base : Base - - constructor() { - super(() => this); ->super(() => this) : void ->super : typeof Base ->() => this : () => this ->this : this - } -} - -// Arrow function as function argument -window.setTimeout(() => null, 100); ->window.setTimeout(() => null, 100) : number ->window.setTimeout : ((handler: TimerHandler, timeout?: number, ...arguments: any[]) => number) & ((handler: TimerHandler, timeout?: number, ...arguments: any[]) => number) ->window : Window & typeof globalThis ->setTimeout : ((handler: TimerHandler, timeout?: number, ...arguments: any[]) => number) & ((handler: TimerHandler, timeout?: number, ...arguments: any[]) => number) ->() => null : () => any ->100 : 100 - -// Arrow function as value in array literal - -var obj = (n: number) => ''; ->obj : (n: number) => string ->(n: number) => '' : (n: number) => string ->n : number ->'' : "" - -var obj: { (n: number): string; }; // OK ->obj : (n: number) => string ->n : number - -var arr = [(n: number) => '']; ->arr : ((n: number) => string)[] ->[(n: number) => ''] : ((n: number) => string)[] ->(n: number) => '' : (n: number) => string ->n : number ->'' : "" - -var arr: { (n: number): string; }[]; // Incorrect error here (bug 829597) ->arr : ((n: number) => string)[] ->n : number - -// Arrow function as enum value -enum E { ->E : E - - x = () => 4, // Error expected ->x : E.x ->() => 4 : () => number ->4 : 4 - - y = (() => this).length // error, can't use this in enum ->y : E.y ->(() => this).length : number ->(() => this) : () => any ->() => this : () => any ->this : any ->length : number -} - -// Arrow function as module variable initializer -namespace M { ->M : typeof M - - export var a = (s) => ''; ->a : (s: any) => string ->(s) => '' : (s: any) => string ->s : any ->'' : "" - - var b = (s) => s; ->b : (s: any) => any ->(s) => s : (s: any) => any ->s : any ->s : any -} - -// Repeat above for module members that are functions? (necessary to redo all of them?) -namespace M2 { ->M2 : typeof M2 - - // Arrow function used in with statement - with (window) { ->window : Window & typeof globalThis - - var p = () => this; ->p : any ->() => this : any ->this : any - } - - // Arrow function as argument to super call - class Base { ->Base : Base - - constructor(n: any) { } ->n : any - } - - class Derived extends Base { ->Derived : Derived ->Base : Base - - constructor() { - super(() => this); ->super(() => this) : void ->super : typeof Base ->() => this : () => this ->this : this - } - } - - // Arrow function as function argument - window.setTimeout(() => null, 100); ->window.setTimeout(() => null, 100) : number ->window.setTimeout : ((handler: TimerHandler, timeout?: number, ...arguments: any[]) => number) & ((handler: TimerHandler, timeout?: number, ...arguments: any[]) => number) ->window : Window & typeof globalThis ->setTimeout : ((handler: TimerHandler, timeout?: number, ...arguments: any[]) => number) & ((handler: TimerHandler, timeout?: number, ...arguments: any[]) => number) ->() => null : () => any ->100 : 100 - - // Arrow function as value in array literal - - var obj = (n: number) => ''; ->obj : (n: number) => string ->(n: number) => '' : (n: number) => string ->n : number ->'' : "" - - var obj: { (n: number): string; }; // OK ->obj : (n: number) => string ->n : number - - var arr = [(n: number) => '']; ->arr : ((n: number) => string)[] ->[(n: number) => ''] : ((n: number) => string)[] ->(n: number) => '' : (n: number) => string ->n : number ->'' : "" - - var arr: { (n: number): string; }[]; // Incorrect error here (bug 829597) ->arr : ((n: number) => string)[] ->n : number - - // Arrow function as enum value - enum E { ->E : E - - x = () => 4, // Error expected ->x : E.x ->() => 4 : () => number ->4 : 4 - - y = (() => this).length ->y : E.y ->(() => this).length : number ->(() => this) : () => any ->() => this : () => any ->this : any ->length : number - } - - // Arrow function as module variable initializer - namespace M { ->M : typeof M - - export var a = (s) => ''; ->a : (s: any) => string ->(s) => '' : (s: any) => string ->s : any ->'' : "" - - var b = (s) => s; ->b : (s: any) => any ->(s) => s : (s: any) => any ->s : any ->s : any - } - -} - -// (ParamList) => { ... } is a generic arrow function -var generic1 = (n: T) => [n]; ->generic1 : (n: T) => T[] ->(n: T) => [n] : (n: T) => T[] ->n : T ->[n] : T[] ->n : T - -var generic1: { (n: T): T[] }; // Incorrect error, Bug 829597 ->generic1 : (n: T) => T[] ->n : T - -var generic2 = (n: T) => { return [n]; }; ->generic2 : (n: T) => T[] ->(n: T) => { return [n]; } : (n: T) => T[] ->n : T ->[n] : T[] ->n : T - -var generic2: { (n: T): T[] }; ->generic2 : (n: T) => T[] ->n : T - -// ((ParamList) => { ... } ) is a type assertion to an arrow function -var asserted1 = ((n) => [n]); ->asserted1 : any ->((n) => [n]) : any ->((n) => [n]) : (n: any) => any[] ->(n) => [n] : (n: any) => any[] ->n : any ->[n] : any[] ->n : any - -var asserted1: any; ->asserted1 : any - -var asserted2 = ((n) => { return n; }); ->asserted2 : any ->((n) => { return n; }) : any ->((n) => { return n; }) : (n: any) => any ->(n) => { return n; } : (n: any) => any ->n : any ->n : any - -var asserted2: any; ->asserted2 : any - - diff --git a/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface01.errors.txt b/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface01.errors.txt index 3cf0de1d5e2..adc5f9e4c39 100644 --- a/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface01.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface01.errors.txt @@ -1,12 +1,18 @@ +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(3,1): error TS2454: Variable 'interface' is used before being assigned. asiPreventsParsingAsInterface01.ts(4,1): error TS2454: Variable 'I' is used before being assigned. -==== asiPreventsParsingAsInterface01.ts (2 errors) ==== +==== asiPreventsParsingAsInterface01.ts (4 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. + ~~~~~~~~~ !!! error TS2454: Variable 'interface' is used before being assigned. I // This should be the identifier 'I' ~ diff --git a/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface01.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface01.errors.txt.diff deleted file mode 100644 index c9b10f3f482..00000000000 --- a/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface01.errors.txt.diff +++ /dev/null @@ -1,21 +0,0 @@ ---- old.asiPreventsParsingAsInterface01.errors.txt -+++ new.asiPreventsParsingAsInterface01.errors.txt -@@= skipped -0, +0 lines =@@ --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(3,1): error TS2454: Variable 'interface' is used before being assigned. - asiPreventsParsingAsInterface01.ts(4,1): error TS2454: Variable 'I' is used before being assigned. - - --==== asiPreventsParsingAsInterface01.ts (4 errors) ==== -+==== 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. - ~~~~~~~~~ - !!! error TS2454: Variable 'interface' is used before being assigned. - I // This should be the identifier 'I' \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface02.errors.txt b/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface02.errors.txt new file mode 100644 index 00000000000..7668be900df --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/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/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface02.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface02.errors.txt.diff deleted file mode 100644 index c828edea41a..00000000000 --- a/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface02.errors.txt.diff +++ /dev/null @@ -1,18 +0,0 @@ ---- old.asiPreventsParsingAsInterface02.errors.txt -+++ new.asiPreventsParsingAsInterface02.errors.txt -@@= skipped -0, +0 lines =@@ --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/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface03.errors.txt b/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface03.errors.txt new file mode 100644 index 00000000000..827183b498f --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/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/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface03.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface03.errors.txt.diff deleted file mode 100644 index bb2414afd42..00000000000 --- a/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface03.errors.txt.diff +++ /dev/null @@ -1,20 +0,0 @@ ---- old.asiPreventsParsingAsInterface03.errors.txt -+++ new.asiPreventsParsingAsInterface03.errors.txt -@@= skipped -0, +0 lines =@@ --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/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface04.errors.txt b/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface04.errors.txt index f8a87062979..b60bb5e8a31 100644 --- a/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface04.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface04.errors.txt @@ -1,16 +1,22 @@ +asiPreventsParsingAsInterface04.ts(1,23): error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. asiPreventsParsingAsInterface04.ts(3,1): error TS2454: Variable 'declare' is used before being assigned. +asiPreventsParsingAsInterface04.ts(4,1): error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. asiPreventsParsingAsInterface04.ts(4,1): error TS2454: Variable 'interface' is used before being assigned. asiPreventsParsingAsInterface04.ts(5,1): error TS2454: Variable 'I' is used before being assigned. -==== asiPreventsParsingAsInterface04.ts (3 errors) ==== +==== asiPreventsParsingAsInterface04.ts (5 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' ~~~~~~~ !!! error TS2454: Variable 'declare' is used before being assigned. interface // This should be the identifier 'interface' ~~~~~~~~~ +!!! error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. + ~~~~~~~~~ !!! error TS2454: Variable 'interface' is used before being assigned. I // This should be the identifier 'I' ~ diff --git a/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface04.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface04.errors.txt.diff deleted file mode 100644 index f033cd7c047..00000000000 --- a/testdata/baselines/reference/submodule/conformance/asiPreventsParsingAsInterface04.errors.txt.diff +++ /dev/null @@ -1,25 +0,0 @@ ---- old.asiPreventsParsingAsInterface04.errors.txt -+++ new.asiPreventsParsingAsInterface04.errors.txt -@@= skipped -0, +0 lines =@@ --asiPreventsParsingAsInterface04.ts(1,23): error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. - asiPreventsParsingAsInterface04.ts(3,1): error TS2454: Variable 'declare' is used before being assigned. --asiPreventsParsingAsInterface04.ts(4,1): error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. - asiPreventsParsingAsInterface04.ts(4,1): error TS2454: Variable 'interface' is used before being assigned. - asiPreventsParsingAsInterface04.ts(5,1): error TS2454: Variable 'I' is used before being assigned. - - --==== asiPreventsParsingAsInterface04.ts (5 errors) ==== -+==== asiPreventsParsingAsInterface04.ts (3 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' - ~~~~~~~ - !!! error TS2454: Variable 'declare' is used before being assigned. - interface // This should be the identifier 'interface' -- ~~~~~~~~~ --!!! error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. - ~~~~~~~~~ - !!! error TS2454: Variable 'interface' is used before being assigned. - I // This should be the identifier 'I' \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/asyncOrYieldAsBindingIdentifier1.errors.txt b/testdata/baselines/reference/submodule/conformance/asyncOrYieldAsBindingIdentifier1.errors.txt index 2f031b85773..b45795634ff 100644 --- a/testdata/baselines/reference/submodule/conformance/asyncOrYieldAsBindingIdentifier1.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/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/testdata/baselines/reference/submodule/conformance/asyncOrYieldAsBindingIdentifier1.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/asyncOrYieldAsBindingIdentifier1.errors.txt.diff deleted file mode 100644 index 8b3d4695ee1..00000000000 --- a/testdata/baselines/reference/submodule/conformance/asyncOrYieldAsBindingIdentifier1.errors.txt.diff +++ /dev/null @@ -1,64 +0,0 @@ ---- old.asyncOrYieldAsBindingIdentifier1.errors.txt -+++ new.asyncOrYieldAsBindingIdentifier1.errors.txt -@@= skipped -0, +0 lines =@@ - 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(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 (9 errors) ==== -+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 (6 errors) ==== - function f_let () { - let await = 1 - } -@@= skipped -41, +38 lines =@@ - - 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 TS1212: Identifier expected. 'yield' is a reserved word in strict mode. -+!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. - } - - function * f4_var () { - var yield = 2; - ~~~~~ --!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. -+!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. - } - - function * f4_const () { - const yield = 2; - ~~~~~ --!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. -+!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. - } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/controlFlowDeleteOperator.errors.txt b/testdata/baselines/reference/submodule/conformance/controlFlowDeleteOperator.errors.txt index 61f5f1df522..5bdb63f7a69 100644 --- a/testdata/baselines/reference/submodule/conformance/controlFlowDeleteOperator.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/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/testdata/baselines/reference/submodule/conformance/controlFlowDeleteOperator.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/controlFlowDeleteOperator.errors.txt.diff deleted file mode 100644 index df55fe38ccf..00000000000 --- a/testdata/baselines/reference/submodule/conformance/controlFlowDeleteOperator.errors.txt.diff +++ /dev/null @@ -1,22 +0,0 @@ ---- old.controlFlowDeleteOperator.errors.txt -+++ new.controlFlowDeleteOperator.errors.txt -@@= skipped -0, +0 lines =@@ - 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 (3 errors) ==== -+==== controlFlowDeleteOperator.ts (2 errors) ==== - function f() { - let x: { a?: number | string, b: number | string } = { b: 1 }; - x.a; -@@= skipped -19, +18 lines =@@ - x.b; - 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/testdata/baselines/reference/submodule/conformance/deleteOperatorInvalidOperations.errors.txt b/testdata/baselines/reference/submodule/conformance/deleteOperatorInvalidOperations.errors.txt index df4c0ad868f..ce87d1518af 100644 --- a/testdata/baselines/reference/submodule/conformance/deleteOperatorInvalidOperations.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/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/testdata/baselines/reference/submodule/conformance/deleteOperatorInvalidOperations.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/deleteOperatorInvalidOperations.errors.txt.diff deleted file mode 100644 index 554d87a1fc6..00000000000 --- a/testdata/baselines/reference/submodule/conformance/deleteOperatorInvalidOperations.errors.txt.diff +++ /dev/null @@ -1,36 +0,0 @@ ---- old.deleteOperatorInvalidOperations.errors.txt -+++ new.deleteOperatorInvalidOperations.errors.txt -@@= skipped -0, +0 lines =@@ - 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 (9 errors) ==== -+==== deleteOperatorInvalidOperations.ts (7 errors) ==== - // Unary operator delete - var ANY; - -@@= skipped -17, +15 lines =@@ - ~~~~~~ - !!! 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. - - // 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. - ~ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).errors.txt deleted file mode 100644 index 82266312f71..00000000000 --- a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).errors.txt +++ /dev/null @@ -1,139 +0,0 @@ -deleteOperatorWithAnyOtherType.ts(25,31): error TS2703: The operand of a 'delete' operator must be a property reference. -deleteOperatorWithAnyOtherType.ts(26,31): error TS2703: The operand of a 'delete' operator must be a property reference. -deleteOperatorWithAnyOtherType.ts(27,31): error TS2703: The operand of a 'delete' operator must be a property reference. -deleteOperatorWithAnyOtherType.ts(28,31): error TS2703: The operand of a 'delete' operator must be a property reference. -deleteOperatorWithAnyOtherType.ts(29,31): error TS2703: The operand of a 'delete' operator must be a property reference. -deleteOperatorWithAnyOtherType.ts(30,31): error TS2703: The operand of a 'delete' operator must be a property reference. -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. -deleteOperatorWithAnyOtherType.ts(43,32): error TS2703: The operand of a 'delete' operator must be a property reference. -deleteOperatorWithAnyOtherType.ts(44,33): error TS2703: The operand of a 'delete' operator must be a property reference. -deleteOperatorWithAnyOtherType.ts(45,33): error TS2365: Operator '+' cannot be applied to types 'null' and 'undefined'. -deleteOperatorWithAnyOtherType.ts(45,33): error TS2703: The operand of a 'delete' operator must be a property reference. -deleteOperatorWithAnyOtherType.ts(46,33): error TS2365: Operator '+' cannot be applied to types 'null' and 'null'. -deleteOperatorWithAnyOtherType.ts(46,33): error TS2703: The operand of a 'delete' operator must be a property reference. -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 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 TS2703: The operand of a 'delete' operator must be a property reference. -deleteOperatorWithAnyOtherType.ts(55,8): error TS2703: The operand of a 'delete' operator must be a property reference. -deleteOperatorWithAnyOtherType.ts(57,8): error TS2703: The operand of a 'delete' operator must be a property reference. - - -==== deleteOperatorWithAnyOtherType.ts (25 errors) ==== - // delete operator on any type - - declare var ANY: any; - declare var ANY1; - var ANY2: any[] = ["", ""]; - declare var obj: () => {}; - var obj1 = { x: "", y: () => { }}; - function foo(): any { - var a; - return a; - } - class A { - public a: any; - static foo() { - var a; - return a; - } - } - namespace M { - export var n: any; - } - var objA = new A(); - - // any type var - var ResultIsBoolean1 = delete ANY1; - ~~~~ -!!! error TS2703: The operand of a 'delete' operator must be a property reference. - var ResultIsBoolean2 = delete ANY2; - ~~~~ -!!! error TS2703: The operand of a 'delete' operator must be a property reference. - var ResultIsBoolean3 = delete A; - ~ -!!! error TS2703: The operand of a 'delete' operator must be a property reference. - var ResultIsBoolean4 = delete M; - ~ -!!! error TS2703: The operand of a 'delete' operator must be a property reference. - var ResultIsBoolean5 = delete obj; - ~~~ -!!! error TS2703: The operand of a 'delete' operator must be a property reference. - var ResultIsBoolean6 = delete obj1; - ~~~~ -!!! error TS2703: The operand of a 'delete' operator must be a property reference. - - // any type literal - var ResultIsBoolean7 = delete undefined; - ~~~~~~~~~ -!!! error TS2703: The operand of a 'delete' operator must be a property reference. - var ResultIsBoolean8 = delete null; - ~~~~ -!!! error TS2703: The operand of a 'delete' operator must be a property reference. - - // any type expressions - var ResultIsBoolean9 = delete ANY2[0]; - var ResultIsBoolean10 = delete obj1.x; - var ResultIsBoolean11 = delete obj1.y; - var ResultIsBoolean12 = delete objA.a; - var ResultIsBoolean13 = delete M.n; - var ResultIsBoolean14 = delete foo(); - ~~~~~ -!!! error TS2703: The operand of a 'delete' operator must be a property reference. - var ResultIsBoolean15 = delete A.foo(); - ~~~~~~~ -!!! error TS2703: The operand of a 'delete' operator must be a property reference. - var ResultIsBoolean16 = delete (ANY + ANY1); - ~~~~~~~~~~ -!!! error TS2703: The operand of a 'delete' operator must be a property reference. - var ResultIsBoolean17 = delete (null + undefined); - ~~~~~~~~~~~~~~~~ -!!! error TS2365: Operator '+' cannot be applied to types 'null' and 'undefined'. - ~~~~~~~~~~~~~~~~ -!!! error TS2703: The operand of a 'delete' operator must be a property reference. - var ResultIsBoolean18 = delete (null + null); - ~~~~~~~~~~~ -!!! error TS2365: Operator '+' cannot be applied to types 'null' and 'null'. - ~~~~~~~~~~~ -!!! error TS2703: The operand of a 'delete' operator must be a property reference. - var ResultIsBoolean19 = delete (undefined + undefined); - ~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2365: Operator '+' cannot be applied to types 'undefined' and 'undefined'. - ~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2703: The operand of a 'delete' operator must be a property reference. - - // multiple delete operators - var ResultIsBoolean20 = delete delete ANY; - ~~~~~~~~~~ -!!! error TS2703: The operand of a 'delete' operator must be a property reference. - ~~~ -!!! error TS2703: The operand of a 'delete' operator must be a property reference. - var ResultIsBoolean21 = delete delete delete (ANY + ANY1); - ~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2703: The operand of a 'delete' operator must be a property reference. - ~~~~~~~~~~~~~~~~~~~ -!!! error TS2703: The operand of a 'delete' operator must be a property reference. - ~~~~~~~~~~ -!!! error TS2703: The operand of a 'delete' operator must be a property reference. - - // miss assignment operators - delete ANY; - ~~~ -!!! error TS2703: The operand of a 'delete' operator must be a property reference. - delete ANY1; - ~~~~ -!!! error TS2703: The operand of a 'delete' operator must be a property reference. - delete ANY2[0]; - delete ANY, ANY1; - ~~~ -!!! error TS2703: The operand of a 'delete' operator must be a property reference. - delete obj1.x; - delete obj1.y; - delete objA.a; - delete M.n; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).js deleted file mode 100644 index 8a254664061..00000000000 --- a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).js +++ /dev/null @@ -1,118 +0,0 @@ -//// [tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithAnyOtherType.ts] //// - -//// [deleteOperatorWithAnyOtherType.ts] -// delete operator on any type - -declare var ANY: any; -declare var ANY1; -var ANY2: any[] = ["", ""]; -declare var obj: () => {}; -var obj1 = { x: "", y: () => { }}; -function foo(): any { - var a; - return a; -} -class A { - public a: any; - static foo() { - var a; - return a; - } -} -namespace M { - export var n: any; -} -var objA = new A(); - -// any type var -var ResultIsBoolean1 = delete ANY1; -var ResultIsBoolean2 = delete ANY2; -var ResultIsBoolean3 = delete A; -var ResultIsBoolean4 = delete M; -var ResultIsBoolean5 = delete obj; -var ResultIsBoolean6 = delete obj1; - -// any type literal -var ResultIsBoolean7 = delete undefined; -var ResultIsBoolean8 = delete null; - -// any type expressions -var ResultIsBoolean9 = delete ANY2[0]; -var ResultIsBoolean10 = delete obj1.x; -var ResultIsBoolean11 = delete obj1.y; -var ResultIsBoolean12 = delete objA.a; -var ResultIsBoolean13 = delete M.n; -var ResultIsBoolean14 = delete foo(); -var ResultIsBoolean15 = delete A.foo(); -var ResultIsBoolean16 = delete (ANY + ANY1); -var ResultIsBoolean17 = delete (null + undefined); -var ResultIsBoolean18 = delete (null + null); -var ResultIsBoolean19 = delete (undefined + undefined); - -// multiple delete operators -var ResultIsBoolean20 = delete delete ANY; -var ResultIsBoolean21 = delete delete delete (ANY + ANY1); - -// miss assignment operators -delete ANY; -delete ANY1; -delete ANY2[0]; -delete ANY, ANY1; -delete obj1.x; -delete obj1.y; -delete objA.a; -delete M.n; - -//// [deleteOperatorWithAnyOtherType.js] -// delete operator on any type -var ANY2 = ["", ""]; -var obj1 = { x: "", y: () => { } }; -function foo() { - var a; - return a; -} -class A { - a; - static foo() { - var a; - return a; - } -} -var M; -(function (M) { -})(M || (M = {})); -var objA = new A(); -// any type var -var ResultIsBoolean1 = delete ANY1; -var ResultIsBoolean2 = delete ANY2; -var ResultIsBoolean3 = delete A; -var ResultIsBoolean4 = delete M; -var ResultIsBoolean5 = delete obj; -var ResultIsBoolean6 = delete obj1; -// any type literal -var ResultIsBoolean7 = delete undefined; -var ResultIsBoolean8 = delete null; -// any type expressions -var ResultIsBoolean9 = delete ANY2[0]; -var ResultIsBoolean10 = delete obj1.x; -var ResultIsBoolean11 = delete obj1.y; -var ResultIsBoolean12 = delete objA.a; -var ResultIsBoolean13 = delete M.n; -var ResultIsBoolean14 = delete foo(); -var ResultIsBoolean15 = delete A.foo(); -var ResultIsBoolean16 = delete (ANY + ANY1); -var ResultIsBoolean17 = delete (null + undefined); -var ResultIsBoolean18 = delete (null + null); -var ResultIsBoolean19 = delete (undefined + undefined); -// multiple delete operators -var ResultIsBoolean20 = delete delete ANY; -var ResultIsBoolean21 = delete delete delete (ANY + ANY1); -// miss assignment operators -delete ANY; -delete ANY1; -delete ANY2[0]; -delete ANY, ANY1; -delete obj1.x; -delete obj1.y; -delete objA.a; -delete M.n; diff --git a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).js.diff deleted file mode 100644 index 4527bc63360..00000000000 --- a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).js.diff +++ /dev/null @@ -1,10 +0,0 @@ ---- old.deleteOperatorWithAnyOtherType(alwaysstrict=false).js -+++ new.deleteOperatorWithAnyOtherType(alwaysstrict=false).js -@@= skipped -71, +71 lines =@@ - return a; - } - class A { -+ a; - static foo() { - var a; - return a; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).symbols deleted file mode 100644 index e307ee95891..00000000000 --- a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).symbols +++ /dev/null @@ -1,190 +0,0 @@ -//// [tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithAnyOtherType.ts] //// - -=== deleteOperatorWithAnyOtherType.ts === -// delete operator on any type - -declare var ANY: any; ->ANY : Symbol(ANY, Decl(deleteOperatorWithAnyOtherType.ts, 2, 11)) - -declare var ANY1; ->ANY1 : Symbol(ANY1, Decl(deleteOperatorWithAnyOtherType.ts, 3, 11)) - -var ANY2: any[] = ["", ""]; ->ANY2 : Symbol(ANY2, Decl(deleteOperatorWithAnyOtherType.ts, 4, 3)) - -declare var obj: () => {}; ->obj : Symbol(obj, Decl(deleteOperatorWithAnyOtherType.ts, 5, 11)) - -var obj1 = { x: "", y: () => { }}; ->obj1 : Symbol(obj1, Decl(deleteOperatorWithAnyOtherType.ts, 6, 3)) ->x : Symbol(x, Decl(deleteOperatorWithAnyOtherType.ts, 6, 12)) ->y : Symbol(y, Decl(deleteOperatorWithAnyOtherType.ts, 6, 19)) - -function foo(): any { ->foo : Symbol(foo, Decl(deleteOperatorWithAnyOtherType.ts, 6, 34)) - - var a; ->a : Symbol(a, Decl(deleteOperatorWithAnyOtherType.ts, 8, 7)) - - return a; ->a : Symbol(a, Decl(deleteOperatorWithAnyOtherType.ts, 8, 7)) -} -class A { ->A : Symbol(A, Decl(deleteOperatorWithAnyOtherType.ts, 10, 1)) - - public a: any; ->a : Symbol(A.a, Decl(deleteOperatorWithAnyOtherType.ts, 11, 9)) - - static foo() { ->foo : Symbol(A.foo, Decl(deleteOperatorWithAnyOtherType.ts, 12, 18)) - - var a; ->a : Symbol(a, Decl(deleteOperatorWithAnyOtherType.ts, 14, 11)) - - return a; ->a : Symbol(a, Decl(deleteOperatorWithAnyOtherType.ts, 14, 11)) - } -} -namespace M { ->M : Symbol(M, Decl(deleteOperatorWithAnyOtherType.ts, 17, 1)) - - export var n: any; ->n : Symbol(n, Decl(deleteOperatorWithAnyOtherType.ts, 19, 14)) -} -var objA = new A(); ->objA : Symbol(objA, Decl(deleteOperatorWithAnyOtherType.ts, 21, 3)) ->A : Symbol(A, Decl(deleteOperatorWithAnyOtherType.ts, 10, 1)) - -// any type var -var ResultIsBoolean1 = delete ANY1; ->ResultIsBoolean1 : Symbol(ResultIsBoolean1, Decl(deleteOperatorWithAnyOtherType.ts, 24, 3)) ->ANY1 : Symbol(ANY1, Decl(deleteOperatorWithAnyOtherType.ts, 3, 11)) - -var ResultIsBoolean2 = delete ANY2; ->ResultIsBoolean2 : Symbol(ResultIsBoolean2, Decl(deleteOperatorWithAnyOtherType.ts, 25, 3)) ->ANY2 : Symbol(ANY2, Decl(deleteOperatorWithAnyOtherType.ts, 4, 3)) - -var ResultIsBoolean3 = delete A; ->ResultIsBoolean3 : Symbol(ResultIsBoolean3, Decl(deleteOperatorWithAnyOtherType.ts, 26, 3)) ->A : Symbol(A, Decl(deleteOperatorWithAnyOtherType.ts, 10, 1)) - -var ResultIsBoolean4 = delete M; ->ResultIsBoolean4 : Symbol(ResultIsBoolean4, Decl(deleteOperatorWithAnyOtherType.ts, 27, 3)) ->M : Symbol(M, Decl(deleteOperatorWithAnyOtherType.ts, 17, 1)) - -var ResultIsBoolean5 = delete obj; ->ResultIsBoolean5 : Symbol(ResultIsBoolean5, Decl(deleteOperatorWithAnyOtherType.ts, 28, 3)) ->obj : Symbol(obj, Decl(deleteOperatorWithAnyOtherType.ts, 5, 11)) - -var ResultIsBoolean6 = delete obj1; ->ResultIsBoolean6 : Symbol(ResultIsBoolean6, Decl(deleteOperatorWithAnyOtherType.ts, 29, 3)) ->obj1 : Symbol(obj1, Decl(deleteOperatorWithAnyOtherType.ts, 6, 3)) - -// any type literal -var ResultIsBoolean7 = delete undefined; ->ResultIsBoolean7 : Symbol(ResultIsBoolean7, Decl(deleteOperatorWithAnyOtherType.ts, 32, 3)) ->undefined : Symbol(undefined) - -var ResultIsBoolean8 = delete null; ->ResultIsBoolean8 : Symbol(ResultIsBoolean8, Decl(deleteOperatorWithAnyOtherType.ts, 33, 3)) - -// any type expressions -var ResultIsBoolean9 = delete ANY2[0]; ->ResultIsBoolean9 : Symbol(ResultIsBoolean9, Decl(deleteOperatorWithAnyOtherType.ts, 36, 3)) ->ANY2 : Symbol(ANY2, Decl(deleteOperatorWithAnyOtherType.ts, 4, 3)) - -var ResultIsBoolean10 = delete obj1.x; ->ResultIsBoolean10 : Symbol(ResultIsBoolean10, Decl(deleteOperatorWithAnyOtherType.ts, 37, 3)) ->obj1.x : Symbol(x, Decl(deleteOperatorWithAnyOtherType.ts, 6, 12)) ->obj1 : Symbol(obj1, Decl(deleteOperatorWithAnyOtherType.ts, 6, 3)) ->x : Symbol(x, Decl(deleteOperatorWithAnyOtherType.ts, 6, 12)) - -var ResultIsBoolean11 = delete obj1.y; ->ResultIsBoolean11 : Symbol(ResultIsBoolean11, Decl(deleteOperatorWithAnyOtherType.ts, 38, 3)) ->obj1.y : Symbol(y, Decl(deleteOperatorWithAnyOtherType.ts, 6, 19)) ->obj1 : Symbol(obj1, Decl(deleteOperatorWithAnyOtherType.ts, 6, 3)) ->y : Symbol(y, Decl(deleteOperatorWithAnyOtherType.ts, 6, 19)) - -var ResultIsBoolean12 = delete objA.a; ->ResultIsBoolean12 : Symbol(ResultIsBoolean12, Decl(deleteOperatorWithAnyOtherType.ts, 39, 3)) ->objA.a : Symbol(A.a, Decl(deleteOperatorWithAnyOtherType.ts, 11, 9)) ->objA : Symbol(objA, Decl(deleteOperatorWithAnyOtherType.ts, 21, 3)) ->a : Symbol(A.a, Decl(deleteOperatorWithAnyOtherType.ts, 11, 9)) - -var ResultIsBoolean13 = delete M.n; ->ResultIsBoolean13 : Symbol(ResultIsBoolean13, Decl(deleteOperatorWithAnyOtherType.ts, 40, 3)) ->M.n : Symbol(M.n, Decl(deleteOperatorWithAnyOtherType.ts, 19, 14)) ->M : Symbol(M, Decl(deleteOperatorWithAnyOtherType.ts, 17, 1)) ->n : Symbol(M.n, Decl(deleteOperatorWithAnyOtherType.ts, 19, 14)) - -var ResultIsBoolean14 = delete foo(); ->ResultIsBoolean14 : Symbol(ResultIsBoolean14, Decl(deleteOperatorWithAnyOtherType.ts, 41, 3)) ->foo : Symbol(foo, Decl(deleteOperatorWithAnyOtherType.ts, 6, 34)) - -var ResultIsBoolean15 = delete A.foo(); ->ResultIsBoolean15 : Symbol(ResultIsBoolean15, Decl(deleteOperatorWithAnyOtherType.ts, 42, 3)) ->A.foo : Symbol(A.foo, Decl(deleteOperatorWithAnyOtherType.ts, 12, 18)) ->A : Symbol(A, Decl(deleteOperatorWithAnyOtherType.ts, 10, 1)) ->foo : Symbol(A.foo, Decl(deleteOperatorWithAnyOtherType.ts, 12, 18)) - -var ResultIsBoolean16 = delete (ANY + ANY1); ->ResultIsBoolean16 : Symbol(ResultIsBoolean16, Decl(deleteOperatorWithAnyOtherType.ts, 43, 3)) ->ANY : Symbol(ANY, Decl(deleteOperatorWithAnyOtherType.ts, 2, 11)) ->ANY1 : Symbol(ANY1, Decl(deleteOperatorWithAnyOtherType.ts, 3, 11)) - -var ResultIsBoolean17 = delete (null + undefined); ->ResultIsBoolean17 : Symbol(ResultIsBoolean17, Decl(deleteOperatorWithAnyOtherType.ts, 44, 3)) ->undefined : Symbol(undefined) - -var ResultIsBoolean18 = delete (null + null); ->ResultIsBoolean18 : Symbol(ResultIsBoolean18, Decl(deleteOperatorWithAnyOtherType.ts, 45, 3)) - -var ResultIsBoolean19 = delete (undefined + undefined); ->ResultIsBoolean19 : Symbol(ResultIsBoolean19, Decl(deleteOperatorWithAnyOtherType.ts, 46, 3)) ->undefined : Symbol(undefined) ->undefined : Symbol(undefined) - -// multiple delete operators -var ResultIsBoolean20 = delete delete ANY; ->ResultIsBoolean20 : Symbol(ResultIsBoolean20, Decl(deleteOperatorWithAnyOtherType.ts, 49, 3)) ->ANY : Symbol(ANY, Decl(deleteOperatorWithAnyOtherType.ts, 2, 11)) - -var ResultIsBoolean21 = delete delete delete (ANY + ANY1); ->ResultIsBoolean21 : Symbol(ResultIsBoolean21, Decl(deleteOperatorWithAnyOtherType.ts, 50, 3)) ->ANY : Symbol(ANY, Decl(deleteOperatorWithAnyOtherType.ts, 2, 11)) ->ANY1 : Symbol(ANY1, Decl(deleteOperatorWithAnyOtherType.ts, 3, 11)) - -// miss assignment operators -delete ANY; ->ANY : Symbol(ANY, Decl(deleteOperatorWithAnyOtherType.ts, 2, 11)) - -delete ANY1; ->ANY1 : Symbol(ANY1, Decl(deleteOperatorWithAnyOtherType.ts, 3, 11)) - -delete ANY2[0]; ->ANY2 : Symbol(ANY2, Decl(deleteOperatorWithAnyOtherType.ts, 4, 3)) - -delete ANY, ANY1; ->ANY : Symbol(ANY, Decl(deleteOperatorWithAnyOtherType.ts, 2, 11)) ->ANY1 : Symbol(ANY1, Decl(deleteOperatorWithAnyOtherType.ts, 3, 11)) - -delete obj1.x; ->obj1.x : Symbol(x, Decl(deleteOperatorWithAnyOtherType.ts, 6, 12)) ->obj1 : Symbol(obj1, Decl(deleteOperatorWithAnyOtherType.ts, 6, 3)) ->x : Symbol(x, Decl(deleteOperatorWithAnyOtherType.ts, 6, 12)) - -delete obj1.y; ->obj1.y : Symbol(y, Decl(deleteOperatorWithAnyOtherType.ts, 6, 19)) ->obj1 : Symbol(obj1, Decl(deleteOperatorWithAnyOtherType.ts, 6, 3)) ->y : Symbol(y, Decl(deleteOperatorWithAnyOtherType.ts, 6, 19)) - -delete objA.a; ->objA.a : Symbol(A.a, Decl(deleteOperatorWithAnyOtherType.ts, 11, 9)) ->objA : Symbol(objA, Decl(deleteOperatorWithAnyOtherType.ts, 21, 3)) ->a : Symbol(A.a, Decl(deleteOperatorWithAnyOtherType.ts, 11, 9)) - -delete M.n; ->M.n : Symbol(M.n, Decl(deleteOperatorWithAnyOtherType.ts, 19, 14)) ->M : Symbol(M, Decl(deleteOperatorWithAnyOtherType.ts, 17, 1)) ->n : Symbol(M.n, Decl(deleteOperatorWithAnyOtherType.ts, 19, 14)) - diff --git a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).types b/testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).types deleted file mode 100644 index ed51b7affe5..00000000000 --- a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).types +++ /dev/null @@ -1,246 +0,0 @@ -//// [tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithAnyOtherType.ts] //// - -=== deleteOperatorWithAnyOtherType.ts === -// delete operator on any type - -declare var ANY: any; ->ANY : any - -declare var ANY1; ->ANY1 : any - -var ANY2: any[] = ["", ""]; ->ANY2 : any[] ->["", ""] : string[] ->"" : "" ->"" : "" - -declare var obj: () => {}; ->obj : () => {} - -var obj1 = { x: "", y: () => { }}; ->obj1 : { x: string; y: () => void; } ->{ x: "", y: () => { }} : { x: string; y: () => void; } ->x : string ->"" : "" ->y : () => void ->() => { } : () => void - -function foo(): any { ->foo : () => any - - var a; ->a : any - - return a; ->a : any -} -class A { ->A : A - - public a: any; ->a : any - - static foo() { ->foo : () => any - - var a; ->a : any - - return a; ->a : any - } -} -namespace M { ->M : typeof M - - export var n: any; ->n : any -} -var objA = new A(); ->objA : A ->new A() : A ->A : typeof A - -// any type var -var ResultIsBoolean1 = delete ANY1; ->ResultIsBoolean1 : boolean ->delete ANY1 : boolean ->ANY1 : any - -var ResultIsBoolean2 = delete ANY2; ->ResultIsBoolean2 : boolean ->delete ANY2 : boolean ->ANY2 : any[] - -var ResultIsBoolean3 = delete A; ->ResultIsBoolean3 : boolean ->delete A : boolean ->A : typeof A - -var ResultIsBoolean4 = delete M; ->ResultIsBoolean4 : boolean ->delete M : boolean ->M : typeof M - -var ResultIsBoolean5 = delete obj; ->ResultIsBoolean5 : boolean ->delete obj : boolean ->obj : () => {} - -var ResultIsBoolean6 = delete obj1; ->ResultIsBoolean6 : boolean ->delete obj1 : boolean ->obj1 : { x: string; y: () => void; } - -// any type literal -var ResultIsBoolean7 = delete undefined; ->ResultIsBoolean7 : boolean ->delete undefined : boolean ->undefined : undefined - -var ResultIsBoolean8 = delete null; ->ResultIsBoolean8 : boolean ->delete null : boolean - -// any type expressions -var ResultIsBoolean9 = delete ANY2[0]; ->ResultIsBoolean9 : boolean ->delete ANY2[0] : boolean ->ANY2[0] : any ->ANY2 : any[] ->0 : 0 - -var ResultIsBoolean10 = delete obj1.x; ->ResultIsBoolean10 : boolean ->delete obj1.x : boolean ->obj1.x : string ->obj1 : { x: string; y: () => void; } ->x : string - -var ResultIsBoolean11 = delete obj1.y; ->ResultIsBoolean11 : boolean ->delete obj1.y : boolean ->obj1.y : () => void ->obj1 : { x: string; y: () => void; } ->y : () => void - -var ResultIsBoolean12 = delete objA.a; ->ResultIsBoolean12 : boolean ->delete objA.a : boolean ->objA.a : any ->objA : A ->a : any - -var ResultIsBoolean13 = delete M.n; ->ResultIsBoolean13 : boolean ->delete M.n : boolean ->M.n : any ->M : typeof M ->n : any - -var ResultIsBoolean14 = delete foo(); ->ResultIsBoolean14 : boolean ->delete foo() : boolean ->foo() : any ->foo : () => any - -var ResultIsBoolean15 = delete A.foo(); ->ResultIsBoolean15 : boolean ->delete A.foo() : boolean ->A.foo() : any ->A.foo : () => any ->A : typeof A ->foo : () => any - -var ResultIsBoolean16 = delete (ANY + ANY1); ->ResultIsBoolean16 : boolean ->delete (ANY + ANY1) : boolean ->(ANY + ANY1) : any ->ANY + ANY1 : any ->ANY : any ->ANY1 : any - -var ResultIsBoolean17 = delete (null + undefined); ->ResultIsBoolean17 : boolean ->delete (null + undefined) : boolean ->(null + undefined) : any ->null + undefined : any ->undefined : undefined - -var ResultIsBoolean18 = delete (null + null); ->ResultIsBoolean18 : boolean ->delete (null + null) : boolean ->(null + null) : any ->null + null : any - -var ResultIsBoolean19 = delete (undefined + undefined); ->ResultIsBoolean19 : boolean ->delete (undefined + undefined) : boolean ->(undefined + undefined) : any ->undefined + undefined : any ->undefined : undefined ->undefined : undefined - -// multiple delete operators -var ResultIsBoolean20 = delete delete ANY; ->ResultIsBoolean20 : boolean ->delete delete ANY : boolean ->delete ANY : boolean ->ANY : any - -var ResultIsBoolean21 = delete delete delete (ANY + ANY1); ->ResultIsBoolean21 : boolean ->delete delete delete (ANY + ANY1) : boolean ->delete delete (ANY + ANY1) : boolean ->delete (ANY + ANY1) : boolean ->(ANY + ANY1) : any ->ANY + ANY1 : any ->ANY : any ->ANY1 : any - -// miss assignment operators -delete ANY; ->delete ANY : boolean ->ANY : any - -delete ANY1; ->delete ANY1 : boolean ->ANY1 : any - -delete ANY2[0]; ->delete ANY2[0] : boolean ->ANY2[0] : any ->ANY2 : any[] ->0 : 0 - -delete ANY, ANY1; ->delete ANY, ANY1 : any ->delete ANY : boolean ->ANY : any ->ANY1 : any - -delete obj1.x; ->delete obj1.x : boolean ->obj1.x : string ->obj1 : { x: string; y: () => void; } ->x : string - -delete obj1.y; ->delete obj1.y : boolean ->obj1.y : () => void ->obj1 : { x: string; y: () => void; } ->y : () => void - -delete objA.a; ->delete objA.a : boolean ->objA.a : any ->objA : A ->a : any - -delete M.n; ->delete M.n : boolean ->M.n : any ->M : typeof M ->n : any - diff --git a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithBooleanType.errors.txt b/testdata/baselines/reference/submodule/conformance/deleteOperatorWithBooleanType.errors.txt index 9530586a1bb..0cb02c0d6b8 100644 --- a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithBooleanType.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/deleteOperatorWithBooleanType.errors.txt @@ -1,4 +1,5 @@ deleteOperatorWithBooleanType.ts(7,12): error TS2564: Property 'a' has no initializer and is not definitely assigned in the constructor. +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. @@ -7,8 +8,10 @@ deleteOperatorWithBooleanType.ts(25,31): error TS2790: The operand of a 'delete' 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. @@ -16,7 +19,7 @@ deleteOperatorWithBooleanType.ts(37,8): error TS2790: The operand of a 'delete' deleteOperatorWithBooleanType.ts(38,8): error TS2790: The operand of a 'delete' operator must be optional. -==== deleteOperatorWithBooleanType.ts (16 errors) ==== +==== deleteOperatorWithBooleanType.ts (19 errors) ==== // delete operator on boolean type declare var BOOLEAN: boolean; @@ -37,6 +40,8 @@ deleteOperatorWithBooleanType.ts(38,8): error TS2790: 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 @@ -66,6 +71,8 @@ deleteOperatorWithBooleanType.ts(38,8): error TS2790: 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 @@ -74,6 +81,8 @@ deleteOperatorWithBooleanType.ts(38,8): error TS2790: 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/testdata/baselines/reference/submodule/conformance/deleteOperatorWithBooleanType.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/deleteOperatorWithBooleanType.errors.txt.diff deleted file mode 100644 index aaad64b1614..00000000000 --- a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithBooleanType.errors.txt.diff +++ /dev/null @@ -1,55 +0,0 @@ ---- old.deleteOperatorWithBooleanType.errors.txt -+++ new.deleteOperatorWithBooleanType.errors.txt -@@= skipped -0, +0 lines =@@ - deleteOperatorWithBooleanType.ts(7,12): error TS2564: Property 'a' has no initializer and is not definitely assigned in the constructor. --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. -@@= skipped -7, +6 lines =@@ - 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. -@@= skipped -11, +9 lines =@@ - deleteOperatorWithBooleanType.ts(38,8): error TS2790: The operand of a 'delete' operator must be optional. - - --==== deleteOperatorWithBooleanType.ts (19 errors) ==== -+==== deleteOperatorWithBooleanType.ts (16 errors) ==== - // delete operator on boolean type - declare var BOOLEAN: boolean; - -@@= skipped -21, +21 lines =@@ - // 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 -@@= skipped -31, +29 lines =@@ - ~~~~~~~~~~~~~~ - !!! 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 -@@= skipped -9, +7 lines =@@ - ~~~~ - !!! 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(); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithEnumType.errors.txt b/testdata/baselines/reference/submodule/conformance/deleteOperatorWithEnumType.errors.txt index 087b0635132..c673275cf79 100644 --- a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithEnumType.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/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/testdata/baselines/reference/submodule/conformance/deleteOperatorWithEnumType.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/deleteOperatorWithEnumType.errors.txt.diff deleted file mode 100644 index 3345e811deb..00000000000 --- a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithEnumType.errors.txt.diff +++ /dev/null @@ -1,72 +0,0 @@ ---- old.deleteOperatorWithEnumType.errors.txt -+++ new.deleteOperatorWithEnumType.errors.txt -@@= skipped -0, +0 lines =@@ --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 (19 errors) ==== -+==== deleteOperatorWithEnumType.ts (13 errors) ==== - // delete operator on enum type - - enum ENUM { }; -@@= skipped -27, +21 lines =@@ - // 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 -@@= skipped -22, +18 lines =@@ - ~~~~~~~~~~~ - !!! 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"]); - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -@@= skipped -14, +12 lines =@@ - // 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/testdata/baselines/reference/submodule/conformance/deleteOperatorWithNumberType.errors.txt b/testdata/baselines/reference/submodule/conformance/deleteOperatorWithNumberType.errors.txt index 1bfc6057de1..d8f747a9396 100644 --- a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithNumberType.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/deleteOperatorWithNumberType.errors.txt @@ -1,5 +1,7 @@ deleteOperatorWithNumberType.ts(8,12): error TS2564: Property 'a' has no initializer and is not definitely assigned in the constructor. +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. @@ -10,12 +12,15 @@ 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(43,8): error TS2790: The operand of a 'delete' operator must be optional. @@ -23,7 +28,7 @@ deleteOperatorWithNumberType.ts(44,8): error TS2790: The operand of a 'delete' o deleteOperatorWithNumberType.ts(45,8): error TS2790: The operand of a 'delete' operator must be optional. -==== deleteOperatorWithNumberType.ts (23 errors) ==== +==== deleteOperatorWithNumberType.ts (28 errors) ==== // delete operator on number type declare var NUMBER: number; var NUMBER1: number[] = [1, 2]; @@ -45,9 +50,13 @@ deleteOperatorWithNumberType.ts(45,8): error TS2790: 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 @@ -84,6 +93,8 @@ deleteOperatorWithNumberType.ts(45,8): error TS2790: 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); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -99,9 +110,13 @@ deleteOperatorWithNumberType.ts(45,8): error TS2790: 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/testdata/baselines/reference/submodule/conformance/deleteOperatorWithNumberType.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/deleteOperatorWithNumberType.errors.txt.diff deleted file mode 100644 index d41ce87d37f..00000000000 --- a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithNumberType.errors.txt.diff +++ /dev/null @@ -1,71 +0,0 @@ ---- old.deleteOperatorWithNumberType.errors.txt -+++ new.deleteOperatorWithNumberType.errors.txt -@@= skipped -0, +0 lines =@@ - deleteOperatorWithNumberType.ts(8,12): error TS2564: Property 'a' has no initializer and is not definitely assigned in the constructor. --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. -@@= skipped -11, +9 lines =@@ - 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(43,8): error TS2790: The operand of a 'delete' operator must be optional. -@@= skipped -16, +13 lines =@@ - deleteOperatorWithNumberType.ts(45,8): error TS2790: The operand of a 'delete' operator must be optional. - - --==== deleteOperatorWithNumberType.ts (28 errors) ==== -+==== deleteOperatorWithNumberType.ts (23 errors) ==== - // delete operator on number type - declare var NUMBER: number; - var NUMBER1: number[] = [1, 2]; -@@= skipped -22, +22 lines =@@ - // 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 -@@= skipped -43, +39 lines =@@ - ~~~~~~~~~~~~~ - !!! 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); - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -@@= skipped -17, +15 lines =@@ - !!! 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(); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithStringType.errors.txt b/testdata/baselines/reference/submodule/conformance/deleteOperatorWithStringType.errors.txt index 986078cecc7..7989eec0928 100644 --- a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithStringType.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/deleteOperatorWithStringType.errors.txt @@ -1,5 +1,7 @@ deleteOperatorWithStringType.ts(8,12): error TS2564: Property 'a' has no initializer and is not definitely assigned in the constructor. +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. @@ -11,18 +13,21 @@ 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(44,8): error TS2790: The operand of a 'delete' operator must be optional. -==== deleteOperatorWithStringType.ts (22 errors) ==== +==== deleteOperatorWithStringType.ts (27 errors) ==== // delete operator on string type declare var STRING: string; var STRING1: string[] = ["", "abc"]; @@ -44,9 +49,13 @@ deleteOperatorWithStringType.ts(44,8): error TS2790: 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 @@ -86,6 +95,8 @@ deleteOperatorWithStringType.ts(44,8): error TS2790: 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); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -101,9 +112,13 @@ deleteOperatorWithStringType.ts(44,8): error TS2790: 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/testdata/baselines/reference/submodule/conformance/deleteOperatorWithStringType.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/deleteOperatorWithStringType.errors.txt.diff deleted file mode 100644 index b96070ce328..00000000000 --- a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithStringType.errors.txt.diff +++ /dev/null @@ -1,69 +0,0 @@ ---- old.deleteOperatorWithStringType.errors.txt -+++ new.deleteOperatorWithStringType.errors.txt -@@= skipped -0, +0 lines =@@ - deleteOperatorWithStringType.ts(8,12): error TS2564: Property 'a' has no initializer and is not definitely assigned in the constructor. --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. -@@= skipped -12, +10 lines =@@ - 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(44,8): error TS2790: The operand of a 'delete' operator must be optional. - - --==== deleteOperatorWithStringType.ts (27 errors) ==== -+==== deleteOperatorWithStringType.ts (22 errors) ==== - // delete operator on string type - declare var STRING: string; - var STRING1: string[] = ["", "abc"]; -@@= skipped -36, +33 lines =@@ - // 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 -@@= skipped -46, +42 lines =@@ - ~~~~~~~~~~~~~ - !!! 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); - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -@@= skipped -17, +15 lines =@@ - !!! 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(); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).js deleted file mode 100644 index 2f4e914f53e..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).js +++ /dev/null @@ -1,9 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments03.ts] //// - -//// [emitArrowFunctionWhenUsingArguments03.ts] -var arguments; -var a = () => arguments; - -//// [emitArrowFunctionWhenUsingArguments03.js] -var arguments; -var a = () => arguments; diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).symbols deleted file mode 100644 index e54b9ef5bd4..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).symbols +++ /dev/null @@ -1,10 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments03.ts] //// - -=== emitArrowFunctionWhenUsingArguments03.ts === -var arguments; ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments03.ts, 0, 3)) - -var a = () => arguments; ->a : Symbol(a, Decl(emitArrowFunctionWhenUsingArguments03.ts, 1, 3)) ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments03.ts, 0, 3)) - diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).types b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).types deleted file mode 100644 index 3edb5f2d64d..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).types +++ /dev/null @@ -1,11 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments03.ts] //// - -=== emitArrowFunctionWhenUsingArguments03.ts === -var arguments; ->arguments : any - -var a = () => arguments; ->a : () => any ->() => arguments : () => any ->arguments : any - diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).js deleted file mode 100644 index 35b1f55d59a..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).js +++ /dev/null @@ -1,9 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments03_ES6.ts] //// - -//// [emitArrowFunctionWhenUsingArguments03_ES6.ts] -var arguments; -var a = () => arguments; - -//// [emitArrowFunctionWhenUsingArguments03_ES6.js] -var arguments; -var a = () => arguments; diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).symbols deleted file mode 100644 index 35b0aedddde..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).symbols +++ /dev/null @@ -1,10 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments03_ES6.ts] //// - -=== emitArrowFunctionWhenUsingArguments03_ES6.ts === -var arguments; ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments03_ES6.ts, 0, 3)) - -var a = () => arguments; ->a : Symbol(a, Decl(emitArrowFunctionWhenUsingArguments03_ES6.ts, 1, 3)) ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments03_ES6.ts, 0, 3)) - diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).types b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).types deleted file mode 100644 index 7014f5fc780..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).types +++ /dev/null @@ -1,11 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments03_ES6.ts] //// - -=== emitArrowFunctionWhenUsingArguments03_ES6.ts === -var arguments; ->arguments : any - -var a = () => arguments; ->a : () => any ->() => arguments : () => any ->arguments : any - diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).js deleted file mode 100644 index 58bab00c798..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).js +++ /dev/null @@ -1,13 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments04.ts] //// - -//// [emitArrowFunctionWhenUsingArguments04.ts] -function f() { - var arguments; - var a = () => arguments; -} - -//// [emitArrowFunctionWhenUsingArguments04.js] -function f() { - var arguments; - var a = () => arguments; -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).symbols deleted file mode 100644 index 1b2fc7cf3fe..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).symbols +++ /dev/null @@ -1,13 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments04.ts] //// - -=== emitArrowFunctionWhenUsingArguments04.ts === -function f() { ->f : Symbol(f, Decl(emitArrowFunctionWhenUsingArguments04.ts, 0, 0)) - - var arguments; ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments04.ts, 1, 7)) - - var a = () => arguments; ->a : Symbol(a, Decl(emitArrowFunctionWhenUsingArguments04.ts, 2, 7)) ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments04.ts, 1, 7)) -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).types b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).types deleted file mode 100644 index 8019da88595..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).types +++ /dev/null @@ -1,14 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments04.ts] //// - -=== emitArrowFunctionWhenUsingArguments04.ts === -function f() { ->f : () => void - - var arguments; ->arguments : any - - var a = () => arguments; ->a : () => any ->() => arguments : () => any ->arguments : any -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).js deleted file mode 100644 index 47904c45224..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).js +++ /dev/null @@ -1,13 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments04_ES6.ts] //// - -//// [emitArrowFunctionWhenUsingArguments04_ES6.ts] -function f() { - var arguments; - var a = () => arguments; -} - -//// [emitArrowFunctionWhenUsingArguments04_ES6.js] -function f() { - var arguments; - var a = () => arguments; -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).symbols deleted file mode 100644 index 0d8ae60fd6d..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).symbols +++ /dev/null @@ -1,13 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments04_ES6.ts] //// - -=== emitArrowFunctionWhenUsingArguments04_ES6.ts === -function f() { ->f : Symbol(f, Decl(emitArrowFunctionWhenUsingArguments04_ES6.ts, 0, 0)) - - var arguments; ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments04_ES6.ts, 1, 7)) - - var a = () => arguments; ->a : Symbol(a, Decl(emitArrowFunctionWhenUsingArguments04_ES6.ts, 2, 7)) ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments04_ES6.ts, 1, 7)) -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).types b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).types deleted file mode 100644 index 2c0f5a11840..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).types +++ /dev/null @@ -1,14 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments04_ES6.ts] //// - -=== emitArrowFunctionWhenUsingArguments04_ES6.ts === -function f() { ->f : () => void - - var arguments; ->arguments : any - - var a = () => arguments; ->a : () => any ->() => arguments : () => any ->arguments : any -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).js deleted file mode 100644 index 40a8871a27e..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).js +++ /dev/null @@ -1,11 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments05.ts] //// - -//// [emitArrowFunctionWhenUsingArguments05.ts] -function f(arguments) { - var a = () => arguments; -} - -//// [emitArrowFunctionWhenUsingArguments05.js] -function f(arguments) { - var a = () => arguments; -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).symbols deleted file mode 100644 index 254d7203b21..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).symbols +++ /dev/null @@ -1,11 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments05.ts] //// - -=== emitArrowFunctionWhenUsingArguments05.ts === -function f(arguments) { ->f : Symbol(f, Decl(emitArrowFunctionWhenUsingArguments05.ts, 0, 0)) ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments05.ts, 0, 11)) - - var a = () => arguments; ->a : Symbol(a, Decl(emitArrowFunctionWhenUsingArguments05.ts, 1, 7)) ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments05.ts, 0, 11)) -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).types b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).types deleted file mode 100644 index 8b2e563d58d..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).types +++ /dev/null @@ -1,12 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments05.ts] //// - -=== emitArrowFunctionWhenUsingArguments05.ts === -function f(arguments) { ->f : (arguments: any) => void ->arguments : any - - var a = () => arguments; ->a : () => any ->() => arguments : () => any ->arguments : any -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).js deleted file mode 100644 index 8ba62e67f2e..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).js +++ /dev/null @@ -1,11 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments05_ES6.ts] //// - -//// [emitArrowFunctionWhenUsingArguments05_ES6.ts] -function f(arguments) { - var a = () => arguments; -} - -//// [emitArrowFunctionWhenUsingArguments05_ES6.js] -function f(arguments) { - var a = () => arguments; -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).symbols deleted file mode 100644 index 4541c989103..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).symbols +++ /dev/null @@ -1,11 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments05_ES6.ts] //// - -=== emitArrowFunctionWhenUsingArguments05_ES6.ts === -function f(arguments) { ->f : Symbol(f, Decl(emitArrowFunctionWhenUsingArguments05_ES6.ts, 0, 0)) ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments05_ES6.ts, 0, 11)) - - var a = () => arguments; ->a : Symbol(a, Decl(emitArrowFunctionWhenUsingArguments05_ES6.ts, 1, 7)) ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments05_ES6.ts, 0, 11)) -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).types b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).types deleted file mode 100644 index 064a5a801a1..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).types +++ /dev/null @@ -1,12 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments05_ES6.ts] //// - -=== emitArrowFunctionWhenUsingArguments05_ES6.ts === -function f(arguments) { ->f : (arguments: any) => void ->arguments : any - - var a = () => arguments; ->a : () => any ->() => arguments : () => any ->arguments : any -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).js deleted file mode 100644 index 93ab665ea5d..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).js +++ /dev/null @@ -1,11 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments06.ts] //// - -//// [emitArrowFunctionWhenUsingArguments06.ts] -function f(arguments) { - var a = () => () => arguments; -} - -//// [emitArrowFunctionWhenUsingArguments06.js] -function f(arguments) { - var a = () => () => arguments; -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).symbols deleted file mode 100644 index b9bf50b481a..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).symbols +++ /dev/null @@ -1,11 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments06.ts] //// - -=== emitArrowFunctionWhenUsingArguments06.ts === -function f(arguments) { ->f : Symbol(f, Decl(emitArrowFunctionWhenUsingArguments06.ts, 0, 0)) ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments06.ts, 0, 11)) - - var a = () => () => arguments; ->a : Symbol(a, Decl(emitArrowFunctionWhenUsingArguments06.ts, 1, 7)) ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments06.ts, 0, 11)) -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).types b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).types deleted file mode 100644 index 307ea4a32d8..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).types +++ /dev/null @@ -1,13 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments06.ts] //// - -=== emitArrowFunctionWhenUsingArguments06.ts === -function f(arguments) { ->f : (arguments: any) => void ->arguments : any - - var a = () => () => arguments; ->a : () => () => any ->() => () => arguments : () => () => any ->() => arguments : () => any ->arguments : any -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).js deleted file mode 100644 index 4e9e45b715a..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).js +++ /dev/null @@ -1,11 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments06_ES6.ts] //// - -//// [emitArrowFunctionWhenUsingArguments06_ES6.ts] -function f(arguments) { - var a = () => () => arguments; -} - -//// [emitArrowFunctionWhenUsingArguments06_ES6.js] -function f(arguments) { - var a = () => () => arguments; -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).symbols deleted file mode 100644 index 0f0037ef64d..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).symbols +++ /dev/null @@ -1,11 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments06_ES6.ts] //// - -=== emitArrowFunctionWhenUsingArguments06_ES6.ts === -function f(arguments) { ->f : Symbol(f, Decl(emitArrowFunctionWhenUsingArguments06_ES6.ts, 0, 0)) ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments06_ES6.ts, 0, 11)) - - var a = () => () => arguments; ->a : Symbol(a, Decl(emitArrowFunctionWhenUsingArguments06_ES6.ts, 1, 7)) ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments06_ES6.ts, 0, 11)) -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).types b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).types deleted file mode 100644 index 6e14ebe359c..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).types +++ /dev/null @@ -1,13 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments06_ES6.ts] //// - -=== emitArrowFunctionWhenUsingArguments06_ES6.ts === -function f(arguments) { ->f : (arguments: any) => void ->arguments : any - - var a = () => () => arguments; ->a : () => () => any ->() => () => arguments : () => () => any ->() => arguments : () => any ->arguments : any -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).js deleted file mode 100644 index 8371f0eca72..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).js +++ /dev/null @@ -1,11 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments07.ts] //// - -//// [emitArrowFunctionWhenUsingArguments07.ts] -function f(arguments) { - var a = (arguments) => () => arguments; -} - -//// [emitArrowFunctionWhenUsingArguments07.js] -function f(arguments) { - var a = (arguments) => () => arguments; -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).symbols deleted file mode 100644 index bbfaf7221f8..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).symbols +++ /dev/null @@ -1,12 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments07.ts] //// - -=== emitArrowFunctionWhenUsingArguments07.ts === -function f(arguments) { ->f : Symbol(f, Decl(emitArrowFunctionWhenUsingArguments07.ts, 0, 0)) ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments07.ts, 0, 11)) - - var a = (arguments) => () => arguments; ->a : Symbol(a, Decl(emitArrowFunctionWhenUsingArguments07.ts, 1, 7)) ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments07.ts, 1, 13)) ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments07.ts, 1, 13)) -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).types b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).types deleted file mode 100644 index ac1b84f2437..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).types +++ /dev/null @@ -1,14 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments07.ts] //// - -=== emitArrowFunctionWhenUsingArguments07.ts === -function f(arguments) { ->f : (arguments: any) => void ->arguments : any - - var a = (arguments) => () => arguments; ->a : (arguments: any) => () => any ->(arguments) => () => arguments : (arguments: any) => () => any ->arguments : any ->() => arguments : () => any ->arguments : any -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).js deleted file mode 100644 index e9ffad32a6d..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).js +++ /dev/null @@ -1,11 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments07_ES6.ts] //// - -//// [emitArrowFunctionWhenUsingArguments07_ES6.ts] -function f(arguments) { - var a = (arguments) => () => arguments; -} - -//// [emitArrowFunctionWhenUsingArguments07_ES6.js] -function f(arguments) { - var a = (arguments) => () => arguments; -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).symbols deleted file mode 100644 index e0ad9357de2..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).symbols +++ /dev/null @@ -1,12 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments07_ES6.ts] //// - -=== emitArrowFunctionWhenUsingArguments07_ES6.ts === -function f(arguments) { ->f : Symbol(f, Decl(emitArrowFunctionWhenUsingArguments07_ES6.ts, 0, 0)) ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments07_ES6.ts, 0, 11)) - - var a = (arguments) => () => arguments; ->a : Symbol(a, Decl(emitArrowFunctionWhenUsingArguments07_ES6.ts, 1, 7)) ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments07_ES6.ts, 1, 13)) ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments07_ES6.ts, 1, 13)) -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).types b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).types deleted file mode 100644 index 8b3cb31cbee..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).types +++ /dev/null @@ -1,14 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments07_ES6.ts] //// - -=== emitArrowFunctionWhenUsingArguments07_ES6.ts === -function f(arguments) { ->f : (arguments: any) => void ->arguments : any - - var a = (arguments) => () => arguments; ->a : (arguments: any) => () => any ->(arguments) => () => arguments : (arguments: any) => () => any ->arguments : any ->() => arguments : () => any ->arguments : any -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).js deleted file mode 100644 index 750d98ae785..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).js +++ /dev/null @@ -1,11 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments08.ts] //// - -//// [emitArrowFunctionWhenUsingArguments08.ts] -function f(arguments) { - var a = () => (arguments) => arguments; -} - -//// [emitArrowFunctionWhenUsingArguments08.js] -function f(arguments) { - var a = () => (arguments) => arguments; -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).symbols deleted file mode 100644 index b06a65d46f8..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).symbols +++ /dev/null @@ -1,12 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments08.ts] //// - -=== emitArrowFunctionWhenUsingArguments08.ts === -function f(arguments) { ->f : Symbol(f, Decl(emitArrowFunctionWhenUsingArguments08.ts, 0, 0)) ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments08.ts, 0, 11)) - - var a = () => (arguments) => arguments; ->a : Symbol(a, Decl(emitArrowFunctionWhenUsingArguments08.ts, 1, 7)) ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments08.ts, 1, 19)) ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments08.ts, 1, 19)) -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).types b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).types deleted file mode 100644 index 67604a92ea6..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).types +++ /dev/null @@ -1,14 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments08.ts] //// - -=== emitArrowFunctionWhenUsingArguments08.ts === -function f(arguments) { ->f : (arguments: any) => void ->arguments : any - - var a = () => (arguments) => arguments; ->a : () => (arguments: any) => any ->() => (arguments) => arguments : () => (arguments: any) => any ->(arguments) => arguments : (arguments: any) => any ->arguments : any ->arguments : any -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).js deleted file mode 100644 index 63b6b875386..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).js +++ /dev/null @@ -1,11 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments08_ES6.ts] //// - -//// [emitArrowFunctionWhenUsingArguments08_ES6.ts] -function f(arguments) { - var a = () => (arguments) => arguments; -} - -//// [emitArrowFunctionWhenUsingArguments08_ES6.js] -function f(arguments) { - var a = () => (arguments) => arguments; -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).symbols deleted file mode 100644 index fbc04873293..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).symbols +++ /dev/null @@ -1,12 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments08_ES6.ts] //// - -=== emitArrowFunctionWhenUsingArguments08_ES6.ts === -function f(arguments) { ->f : Symbol(f, Decl(emitArrowFunctionWhenUsingArguments08_ES6.ts, 0, 0)) ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments08_ES6.ts, 0, 11)) - - var a = () => (arguments) => arguments; ->a : Symbol(a, Decl(emitArrowFunctionWhenUsingArguments08_ES6.ts, 1, 7)) ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments08_ES6.ts, 1, 19)) ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments08_ES6.ts, 1, 19)) -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).types b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).types deleted file mode 100644 index e9c0d84684d..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).types +++ /dev/null @@ -1,14 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments08_ES6.ts] //// - -=== emitArrowFunctionWhenUsingArguments08_ES6.ts === -function f(arguments) { ->f : (arguments: any) => void ->arguments : any - - var a = () => (arguments) => arguments; ->a : () => (arguments: any) => any ->() => (arguments) => arguments : () => (arguments: any) => any ->(arguments) => arguments : (arguments: any) => any ->arguments : any ->arguments : any -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).js deleted file mode 100644 index d6919f26aa8..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).js +++ /dev/null @@ -1,13 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments11.ts] //// - -//// [emitArrowFunctionWhenUsingArguments11.ts] -function f(arguments) { - var _arguments = 10; - var a = () => () => arguments; -} - -//// [emitArrowFunctionWhenUsingArguments11.js] -function f(arguments) { - var _arguments = 10; - var a = () => () => arguments; -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).symbols deleted file mode 100644 index 96debf73c83..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).symbols +++ /dev/null @@ -1,14 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments11.ts] //// - -=== emitArrowFunctionWhenUsingArguments11.ts === -function f(arguments) { ->f : Symbol(f, Decl(emitArrowFunctionWhenUsingArguments11.ts, 0, 0)) ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments11.ts, 0, 11)) - - var _arguments = 10; ->_arguments : Symbol(_arguments, Decl(emitArrowFunctionWhenUsingArguments11.ts, 1, 7)) - - var a = () => () => arguments; ->a : Symbol(a, Decl(emitArrowFunctionWhenUsingArguments11.ts, 2, 7)) ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments11.ts, 0, 11)) -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).types b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).types deleted file mode 100644 index 606e858e5b1..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).types +++ /dev/null @@ -1,17 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments11.ts] //// - -=== emitArrowFunctionWhenUsingArguments11.ts === -function f(arguments) { ->f : (arguments: any) => void ->arguments : any - - var _arguments = 10; ->_arguments : number ->10 : 10 - - var a = () => () => arguments; ->a : () => () => any ->() => () => arguments : () => () => any ->() => arguments : () => any ->arguments : any -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).js deleted file mode 100644 index 2d8a1f65a34..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).js +++ /dev/null @@ -1,13 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments11_ES6.ts] //// - -//// [emitArrowFunctionWhenUsingArguments11_ES6.ts] -function f(arguments) { - var _arguments = 10; - var a = () => () => arguments; -} - -//// [emitArrowFunctionWhenUsingArguments11_ES6.js] -function f(arguments) { - var _arguments = 10; - var a = () => () => arguments; -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).symbols deleted file mode 100644 index 9f40cf1de3a..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).symbols +++ /dev/null @@ -1,14 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments11_ES6.ts] //// - -=== emitArrowFunctionWhenUsingArguments11_ES6.ts === -function f(arguments) { ->f : Symbol(f, Decl(emitArrowFunctionWhenUsingArguments11_ES6.ts, 0, 0)) ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments11_ES6.ts, 0, 11)) - - var _arguments = 10; ->_arguments : Symbol(_arguments, Decl(emitArrowFunctionWhenUsingArguments11_ES6.ts, 1, 7)) - - var a = () => () => arguments; ->a : Symbol(a, Decl(emitArrowFunctionWhenUsingArguments11_ES6.ts, 2, 7)) ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments11_ES6.ts, 0, 11)) -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).types b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).types deleted file mode 100644 index cd6dfd82c84..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).types +++ /dev/null @@ -1,17 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments11_ES6.ts] //// - -=== emitArrowFunctionWhenUsingArguments11_ES6.ts === -function f(arguments) { ->f : (arguments: any) => void ->arguments : any - - var _arguments = 10; ->_arguments : number ->10 : 10 - - var a = () => () => arguments; ->a : () => () => any ->() => () => arguments : () => () => any ->() => arguments : () => any ->arguments : any -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).js deleted file mode 100644 index 5ca8028ea71..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).js +++ /dev/null @@ -1,13 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments13.ts] //// - -//// [emitArrowFunctionWhenUsingArguments13.ts] -function f() { - var _arguments = 10; - var a = (arguments) => () => _arguments; -} - -//// [emitArrowFunctionWhenUsingArguments13.js] -function f() { - var _arguments = 10; - var a = (arguments) => () => _arguments; -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).symbols deleted file mode 100644 index c326e772a42..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).symbols +++ /dev/null @@ -1,14 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments13.ts] //// - -=== emitArrowFunctionWhenUsingArguments13.ts === -function f() { ->f : Symbol(f, Decl(emitArrowFunctionWhenUsingArguments13.ts, 0, 0)) - - var _arguments = 10; ->_arguments : Symbol(_arguments, Decl(emitArrowFunctionWhenUsingArguments13.ts, 1, 7)) - - var a = (arguments) => () => _arguments; ->a : Symbol(a, Decl(emitArrowFunctionWhenUsingArguments13.ts, 2, 7)) ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments13.ts, 2, 13)) ->_arguments : Symbol(_arguments, Decl(emitArrowFunctionWhenUsingArguments13.ts, 1, 7)) -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).types b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).types deleted file mode 100644 index 2a1bda2769f..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).types +++ /dev/null @@ -1,17 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments13.ts] //// - -=== emitArrowFunctionWhenUsingArguments13.ts === -function f() { ->f : () => void - - var _arguments = 10; ->_arguments : number ->10 : 10 - - var a = (arguments) => () => _arguments; ->a : (arguments: any) => () => number ->(arguments) => () => _arguments : (arguments: any) => () => number ->arguments : any ->() => _arguments : () => number ->_arguments : number -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).js deleted file mode 100644 index 8182b097389..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).js +++ /dev/null @@ -1,13 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments13_ES6.ts] //// - -//// [emitArrowFunctionWhenUsingArguments13_ES6.ts] -function f() { - var _arguments = 10; - var a = (arguments) => () => _arguments; -} - -//// [emitArrowFunctionWhenUsingArguments13_ES6.js] -function f() { - var _arguments = 10; - var a = (arguments) => () => _arguments; -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).symbols deleted file mode 100644 index 0b1107b185b..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).symbols +++ /dev/null @@ -1,14 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments13_ES6.ts] //// - -=== emitArrowFunctionWhenUsingArguments13_ES6.ts === -function f() { ->f : Symbol(f, Decl(emitArrowFunctionWhenUsingArguments13_ES6.ts, 0, 0)) - - var _arguments = 10; ->_arguments : Symbol(_arguments, Decl(emitArrowFunctionWhenUsingArguments13_ES6.ts, 1, 7)) - - var a = (arguments) => () => _arguments; ->a : Symbol(a, Decl(emitArrowFunctionWhenUsingArguments13_ES6.ts, 2, 7)) ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments13_ES6.ts, 2, 13)) ->_arguments : Symbol(_arguments, Decl(emitArrowFunctionWhenUsingArguments13_ES6.ts, 1, 7)) -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).types b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).types deleted file mode 100644 index 4ef40061e5f..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).types +++ /dev/null @@ -1,17 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments13_ES6.ts] //// - -=== emitArrowFunctionWhenUsingArguments13_ES6.ts === -function f() { ->f : () => void - - var _arguments = 10; ->_arguments : number ->10 : 10 - - var a = (arguments) => () => _arguments; ->a : (arguments: any) => () => number ->(arguments) => () => _arguments : (arguments: any) => () => number ->arguments : any ->() => _arguments : () => number ->_arguments : number -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).js deleted file mode 100644 index 4150c6c440a..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).js +++ /dev/null @@ -1,17 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments14.ts] //// - -//// [emitArrowFunctionWhenUsingArguments14.ts] -function f() { - if (Math.random()) { - const arguments = 100; - return () => arguments; - } -} - -//// [emitArrowFunctionWhenUsingArguments14.js] -function f() { - if (Math.random()) { - const arguments = 100; - return () => arguments; - } -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).symbols deleted file mode 100644 index 790f5dc7a16..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).symbols +++ /dev/null @@ -1,18 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments14.ts] //// - -=== emitArrowFunctionWhenUsingArguments14.ts === -function f() { ->f : Symbol(f, Decl(emitArrowFunctionWhenUsingArguments14.ts, 0, 0)) - - if (Math.random()) { ->Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) - - const arguments = 100; ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments14.ts, 2, 13)) - - return () => arguments; ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments14.ts, 2, 13)) - } -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).types b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).types deleted file mode 100644 index 37beaa13a83..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).types +++ /dev/null @@ -1,21 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments14.ts] //// - -=== emitArrowFunctionWhenUsingArguments14.ts === -function f() { ->f : () => () => number - - if (Math.random()) { ->Math.random() : number ->Math.random : () => number ->Math : Math ->random : () => number - - const arguments = 100; ->arguments : 100 ->100 : 100 - - return () => arguments; ->() => arguments : () => number ->arguments : 100 - } -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).js deleted file mode 100644 index 1fd80c55f20..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).js +++ /dev/null @@ -1,17 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments14_ES6.ts] //// - -//// [emitArrowFunctionWhenUsingArguments14_ES6.ts] -function f() { - if (Math.random()) { - let arguments = 100; - return () => arguments; - } -} - -//// [emitArrowFunctionWhenUsingArguments14_ES6.js] -function f() { - if (Math.random()) { - let arguments = 100; - return () => arguments; - } -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).symbols deleted file mode 100644 index bd672ba0120..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).symbols +++ /dev/null @@ -1,18 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments14_ES6.ts] //// - -=== emitArrowFunctionWhenUsingArguments14_ES6.ts === -function f() { ->f : Symbol(f, Decl(emitArrowFunctionWhenUsingArguments14_ES6.ts, 0, 0)) - - if (Math.random()) { ->Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) - - let arguments = 100; ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments14_ES6.ts, 2, 11)) - - return () => arguments; ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments14_ES6.ts, 2, 11)) - } -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).types b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).types deleted file mode 100644 index a343ec55a24..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).types +++ /dev/null @@ -1,21 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments14_ES6.ts] //// - -=== emitArrowFunctionWhenUsingArguments14_ES6.ts === -function f() { ->f : () => () => number - - if (Math.random()) { ->Math.random() : number ->Math.random : () => number ->Math : Math ->random : () => number - - let arguments = 100; ->arguments : number ->100 : 100 - - return () => arguments; ->() => arguments : () => number ->arguments : number - } -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).js deleted file mode 100644 index 3c7ae3d1d04..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).js +++ /dev/null @@ -1,19 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments15.ts] //// - -//// [emitArrowFunctionWhenUsingArguments15.ts] -function f() { - var arguments = "hello"; - if (Math.random()) { - const arguments = 100; - return () => arguments; - } -} - -//// [emitArrowFunctionWhenUsingArguments15.js] -function f() { - var arguments = "hello"; - if (Math.random()) { - const arguments = 100; - return () => arguments; - } -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).symbols deleted file mode 100644 index e7792c1e733..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).symbols +++ /dev/null @@ -1,21 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments15.ts] //// - -=== emitArrowFunctionWhenUsingArguments15.ts === -function f() { ->f : Symbol(f, Decl(emitArrowFunctionWhenUsingArguments15.ts, 0, 0)) - - var arguments = "hello"; ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments15.ts, 1, 7)) - - if (Math.random()) { ->Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) - - const arguments = 100; ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments15.ts, 3, 13)) - - return () => arguments; ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments15.ts, 3, 13)) - } -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).types b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).types deleted file mode 100644 index e98881fc357..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).types +++ /dev/null @@ -1,25 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments15.ts] //// - -=== emitArrowFunctionWhenUsingArguments15.ts === -function f() { ->f : () => () => number - - var arguments = "hello"; ->arguments : string ->"hello" : "hello" - - if (Math.random()) { ->Math.random() : number ->Math.random : () => number ->Math : Math ->random : () => number - - const arguments = 100; ->arguments : 100 ->100 : 100 - - return () => arguments; ->() => arguments : () => number ->arguments : 100 - } -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).js deleted file mode 100644 index 5927b5a452f..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).js +++ /dev/null @@ -1,19 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments15_ES6.ts] //// - -//// [emitArrowFunctionWhenUsingArguments15_ES6.ts] -function f() { - var arguments = "hello"; - if (Math.random()) { - const arguments = 100; - return () => arguments; - } -} - -//// [emitArrowFunctionWhenUsingArguments15_ES6.js] -function f() { - var arguments = "hello"; - if (Math.random()) { - const arguments = 100; - return () => arguments; - } -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).symbols deleted file mode 100644 index 34da4979043..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).symbols +++ /dev/null @@ -1,21 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments15_ES6.ts] //// - -=== emitArrowFunctionWhenUsingArguments15_ES6.ts === -function f() { ->f : Symbol(f, Decl(emitArrowFunctionWhenUsingArguments15_ES6.ts, 0, 0)) - - var arguments = "hello"; ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments15_ES6.ts, 1, 7)) - - if (Math.random()) { ->Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) - - const arguments = 100; ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments15_ES6.ts, 3, 13)) - - return () => arguments; ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments15_ES6.ts, 3, 13)) - } -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).types b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).types deleted file mode 100644 index 3ff60b3445a..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).types +++ /dev/null @@ -1,25 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments15_ES6.ts] //// - -=== emitArrowFunctionWhenUsingArguments15_ES6.ts === -function f() { ->f : () => () => number - - var arguments = "hello"; ->arguments : string ->"hello" : "hello" - - if (Math.random()) { ->Math.random() : number ->Math.random : () => number ->Math : Math ->random : () => number - - const arguments = 100; ->arguments : 100 ->100 : 100 - - return () => arguments; ->() => arguments : () => number ->arguments : 100 - } -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).js deleted file mode 100644 index 5ac3f2f5b15..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).js +++ /dev/null @@ -1,19 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments16.ts] //// - -//// [emitArrowFunctionWhenUsingArguments16.ts] -function f() { - var arguments = "hello"; - if (Math.random()) { - return () => arguments[0]; - } - var arguments = "world"; -} - -//// [emitArrowFunctionWhenUsingArguments16.js] -function f() { - var arguments = "hello"; - if (Math.random()) { - return () => arguments[0]; - } - var arguments = "world"; -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).symbols deleted file mode 100644 index 03ff76ba695..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).symbols +++ /dev/null @@ -1,20 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments16.ts] //// - -=== emitArrowFunctionWhenUsingArguments16.ts === -function f() { ->f : Symbol(f, Decl(emitArrowFunctionWhenUsingArguments16.ts, 0, 0)) - - var arguments = "hello"; ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments16.ts, 1, 7), Decl(emitArrowFunctionWhenUsingArguments16.ts, 5, 7)) - - if (Math.random()) { ->Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) - - return () => arguments[0]; ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments16.ts, 1, 7), Decl(emitArrowFunctionWhenUsingArguments16.ts, 5, 7)) - } - var arguments = "world"; ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments16.ts, 1, 7), Decl(emitArrowFunctionWhenUsingArguments16.ts, 5, 7)) -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).types b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).types deleted file mode 100644 index 4920f86653f..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).types +++ /dev/null @@ -1,26 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments16.ts] //// - -=== emitArrowFunctionWhenUsingArguments16.ts === -function f() { ->f : () => () => string - - var arguments = "hello"; ->arguments : string ->"hello" : "hello" - - if (Math.random()) { ->Math.random() : number ->Math.random : () => number ->Math : Math ->random : () => number - - return () => arguments[0]; ->() => arguments[0] : () => string ->arguments[0] : string ->arguments : string ->0 : 0 - } - var arguments = "world"; ->arguments : string ->"world" : "world" -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).js deleted file mode 100644 index 143355efe1f..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).js +++ /dev/null @@ -1,19 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments16_ES6.ts] //// - -//// [emitArrowFunctionWhenUsingArguments16_ES6.ts] -function f() { - var arguments = "hello"; - if (Math.random()) { - return () => arguments[0]; - } - var arguments = "world"; -} - -//// [emitArrowFunctionWhenUsingArguments16_ES6.js] -function f() { - var arguments = "hello"; - if (Math.random()) { - return () => arguments[0]; - } - var arguments = "world"; -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).symbols deleted file mode 100644 index 6c65b5b89bb..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).symbols +++ /dev/null @@ -1,20 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments16_ES6.ts] //// - -=== emitArrowFunctionWhenUsingArguments16_ES6.ts === -function f() { ->f : Symbol(f, Decl(emitArrowFunctionWhenUsingArguments16_ES6.ts, 0, 0)) - - var arguments = "hello"; ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments16_ES6.ts, 1, 7), Decl(emitArrowFunctionWhenUsingArguments16_ES6.ts, 5, 7)) - - if (Math.random()) { ->Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) - - return () => arguments[0]; ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments16_ES6.ts, 1, 7), Decl(emitArrowFunctionWhenUsingArguments16_ES6.ts, 5, 7)) - } - var arguments = "world"; ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments16_ES6.ts, 1, 7), Decl(emitArrowFunctionWhenUsingArguments16_ES6.ts, 5, 7)) -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).types b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).types deleted file mode 100644 index 8d40db86106..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).types +++ /dev/null @@ -1,26 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments16_ES6.ts] //// - -=== emitArrowFunctionWhenUsingArguments16_ES6.ts === -function f() { ->f : () => () => string - - var arguments = "hello"; ->arguments : string ->"hello" : "hello" - - if (Math.random()) { ->Math.random() : number ->Math.random : () => number ->Math : Math ->random : () => number - - return () => arguments[0]; ->() => arguments[0] : () => string ->arguments[0] : string ->arguments : string ->0 : 0 - } - var arguments = "world"; ->arguments : string ->"world" : "world" -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).js deleted file mode 100644 index e64cdc282d3..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).js +++ /dev/null @@ -1,19 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments17.ts] //// - -//// [emitArrowFunctionWhenUsingArguments17.ts] -function f() { - var { arguments } = { arguments: "hello" }; - if (Math.random()) { - return () => arguments[0]; - } - var arguments = "world"; -} - -//// [emitArrowFunctionWhenUsingArguments17.js] -function f() { - var { arguments } = { arguments: "hello" }; - if (Math.random()) { - return () => arguments[0]; - } - var arguments = "world"; -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).symbols deleted file mode 100644 index afab9d24135..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).symbols +++ /dev/null @@ -1,21 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments17.ts] //// - -=== emitArrowFunctionWhenUsingArguments17.ts === -function f() { ->f : Symbol(f, Decl(emitArrowFunctionWhenUsingArguments17.ts, 0, 0)) - - var { arguments } = { arguments: "hello" }; ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments17.ts, 1, 9), Decl(emitArrowFunctionWhenUsingArguments17.ts, 5, 7)) ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments17.ts, 1, 25)) - - if (Math.random()) { ->Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) - - return () => arguments[0]; ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments17.ts, 1, 9), Decl(emitArrowFunctionWhenUsingArguments17.ts, 5, 7)) - } - var arguments = "world"; ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments17.ts, 1, 9), Decl(emitArrowFunctionWhenUsingArguments17.ts, 5, 7)) -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).types b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).types deleted file mode 100644 index 40ba3fc4850..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).types +++ /dev/null @@ -1,28 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments17.ts] //// - -=== emitArrowFunctionWhenUsingArguments17.ts === -function f() { ->f : () => () => string - - var { arguments } = { arguments: "hello" }; ->arguments : string ->{ arguments: "hello" } : { arguments: string; } ->arguments : string ->"hello" : "hello" - - if (Math.random()) { ->Math.random() : number ->Math.random : () => number ->Math : Math ->random : () => number - - return () => arguments[0]; ->() => arguments[0] : () => string ->arguments[0] : string ->arguments : string ->0 : 0 - } - var arguments = "world"; ->arguments : string ->"world" : "world" -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).js deleted file mode 100644 index 1abdb2a0c40..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).js +++ /dev/null @@ -1,19 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments17_ES6.ts] //// - -//// [emitArrowFunctionWhenUsingArguments17_ES6.ts] -function f() { - var { arguments } = { arguments: "hello" }; - if (Math.random()) { - return () => arguments[0]; - } - var arguments = "world"; -} - -//// [emitArrowFunctionWhenUsingArguments17_ES6.js] -function f() { - var { arguments } = { arguments: "hello" }; - if (Math.random()) { - return () => arguments[0]; - } - var arguments = "world"; -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).symbols deleted file mode 100644 index 1d1ea3732bc..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).symbols +++ /dev/null @@ -1,21 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments17_ES6.ts] //// - -=== emitArrowFunctionWhenUsingArguments17_ES6.ts === -function f() { ->f : Symbol(f, Decl(emitArrowFunctionWhenUsingArguments17_ES6.ts, 0, 0)) - - var { arguments } = { arguments: "hello" }; ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments17_ES6.ts, 1, 9), Decl(emitArrowFunctionWhenUsingArguments17_ES6.ts, 5, 7)) ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments17_ES6.ts, 1, 25)) - - if (Math.random()) { ->Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) - - return () => arguments[0]; ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments17_ES6.ts, 1, 9), Decl(emitArrowFunctionWhenUsingArguments17_ES6.ts, 5, 7)) - } - var arguments = "world"; ->arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments17_ES6.ts, 1, 9), Decl(emitArrowFunctionWhenUsingArguments17_ES6.ts, 5, 7)) -} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).types b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).types deleted file mode 100644 index b80573a408c..00000000000 --- a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).types +++ /dev/null @@ -1,28 +0,0 @@ -//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments17_ES6.ts] //// - -=== emitArrowFunctionWhenUsingArguments17_ES6.ts === -function f() { ->f : () => () => string - - var { arguments } = { arguments: "hello" }; ->arguments : string ->{ arguments: "hello" } : { arguments: string; } ->arguments : string ->"hello" : "hello" - - if (Math.random()) { ->Math.random() : number ->Math.random : () => number ->Math : Math ->random : () => number - - return () => arguments[0]; ->() => arguments[0] : () => string ->arguments[0] : string ->arguments : string ->0 : 0 - } - var arguments = "world"; ->arguments : string ->"world" : "world" -} diff --git a/testdata/baselines/reference/submodule/conformance/for-of51.errors.txt b/testdata/baselines/reference/submodule/conformance/for-of51.errors.txt index b58f4ca58a4..2df64cf3202 100644 --- a/testdata/baselines/reference/submodule/conformance/for-of51.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/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/testdata/baselines/reference/submodule/conformance/for-of51.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/for-of51.errors.txt.diff deleted file mode 100644 index bcd3c322feb..00000000000 --- a/testdata/baselines/reference/submodule/conformance/for-of51.errors.txt.diff +++ /dev/null @@ -1,14 +0,0 @@ ---- old.for-of51.errors.txt -+++ new.for-of51.errors.txt -@@= skipped -0, +0 lines =@@ --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 (2 errors) ==== -+==== for-of51.ts (1 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/testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).js deleted file mode 100644 index 02c44effd6d..00000000000 --- a/testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).js +++ /dev/null @@ -1,7 +0,0 @@ -//// [tests/cases/conformance/es6/for-ofStatements/for-of56.ts] //// - -//// [for-of56.ts] -for (var let of []) {} - -//// [for-of56.js] -for (var let of []) { } diff --git a/testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).symbols deleted file mode 100644 index 791222da436..00000000000 --- a/testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).symbols +++ /dev/null @@ -1,6 +0,0 @@ -//// [tests/cases/conformance/es6/for-ofStatements/for-of56.ts] //// - -=== for-of56.ts === -for (var let of []) {} ->let : Symbol(let, Decl(for-of56.ts, 0, 8)) - diff --git a/testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).types b/testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).types deleted file mode 100644 index d8706d32ca6..00000000000 --- a/testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).types +++ /dev/null @@ -1,7 +0,0 @@ -//// [tests/cases/conformance/es6/for-ofStatements/for-of56.ts] //// - -=== for-of56.ts === -for (var let of []) {} ->let : any ->[] : undefined[] - diff --git a/testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).js deleted file mode 100644 index c682bf95665..00000000000 --- a/testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).js +++ /dev/null @@ -1,15 +0,0 @@ -//// [tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck38.ts] //// - -//// [generatorTypeCheck38.ts] -var yield; -function* g() { - yield 0; - var v: typeof yield; -} - -//// [generatorTypeCheck38.js] -var yield; -function* g() { - yield 0; - var v; -} diff --git a/testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).symbols deleted file mode 100644 index 1eb86c1eaba..00000000000 --- a/testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).symbols +++ /dev/null @@ -1,14 +0,0 @@ -//// [tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck38.ts] //// - -=== generatorTypeCheck38.ts === -var yield; ->yield : Symbol(yield, Decl(generatorTypeCheck38.ts, 0, 3)) - -function* g() { ->g : Symbol(g, Decl(generatorTypeCheck38.ts, 0, 10)) - - yield 0; - var v: typeof yield; ->v : Symbol(v, Decl(generatorTypeCheck38.ts, 3, 7)) ->yield : Symbol(yield, Decl(generatorTypeCheck38.ts, 0, 3)) -} diff --git a/testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).types b/testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).types deleted file mode 100644 index 8d9a317a166..00000000000 --- a/testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).types +++ /dev/null @@ -1,17 +0,0 @@ -//// [tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck38.ts] //// - -=== generatorTypeCheck38.ts === -var yield; ->yield : any - -function* g() { ->g : () => Generator - - yield 0; ->yield 0 : any ->0 : 0 - - var v: typeof yield; ->v : any ->yield : any -} diff --git a/testdata/baselines/reference/submodule/conformance/importCallExpressionInScriptContext1.errors.txt b/testdata/baselines/reference/submodule/conformance/importCallExpressionInScriptContext1.errors.txt new file mode 100644 index 00000000000..1de82f64ddb --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/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/testdata/baselines/reference/submodule/conformance/importCallExpressionInScriptContext1.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/importCallExpressionInScriptContext1.errors.txt.diff deleted file mode 100644 index eb15ef734b7..00000000000 --- a/testdata/baselines/reference/submodule/conformance/importCallExpressionInScriptContext1.errors.txt.diff +++ /dev/null @@ -1,15 +0,0 @@ ---- old.importCallExpressionInScriptContext1.errors.txt -+++ new.importCallExpressionInScriptContext1.errors.txt -@@= skipped -0, +0 lines =@@ --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/testdata/baselines/reference/submodule/conformance/invalidDoWhileBreakStatements.errors.txt b/testdata/baselines/reference/submodule/conformance/invalidDoWhileBreakStatements.errors.txt index 3e231d553b6..652ea2fc945 100644 --- a/testdata/baselines/reference/submodule/conformance/invalidDoWhileBreakStatements.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/invalidDoWhileBreakStatements.errors.txt @@ -3,10 +3,11 @@ invalidDoWhileBreakStatements.ts(8,4): error TS1116: A 'break' statement can onl invalidDoWhileBreakStatements.ts(14,9): error TS1107: Jump target cannot cross function boundary. invalidDoWhileBreakStatements.ts(21,9): error TS1107: Jump target cannot cross function boundary. invalidDoWhileBreakStatements.ts(27,5): error TS1116: A 'break' statement can only jump to a label of an enclosing statement. +invalidDoWhileBreakStatements.ts(33,1): error TS1344: 'A label is not allowed here. invalidDoWhileBreakStatements.ts(37,5): error TS1116: A 'break' statement can only jump to a label of an enclosing statement. -==== invalidDoWhileBreakStatements.ts (6 errors) ==== +==== invalidDoWhileBreakStatements.ts (7 errors) ==== // All errors // naked break not allowed @@ -50,6 +51,8 @@ invalidDoWhileBreakStatements.ts(37,5): error TS1116: A 'break' statement can on // label on non-loop statement NINE: + ~~~~ +!!! error TS1344: 'A label is not allowed here. var y = 12; do { diff --git a/testdata/baselines/reference/submodule/conformance/invalidDoWhileBreakStatements.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/invalidDoWhileBreakStatements.errors.txt.diff deleted file mode 100644 index 7b150a5ba77..00000000000 --- a/testdata/baselines/reference/submodule/conformance/invalidDoWhileBreakStatements.errors.txt.diff +++ /dev/null @@ -1,24 +0,0 @@ ---- old.invalidDoWhileBreakStatements.errors.txt -+++ new.invalidDoWhileBreakStatements.errors.txt -@@= skipped -2, +2 lines =@@ - invalidDoWhileBreakStatements.ts(14,9): error TS1107: Jump target cannot cross function boundary. - invalidDoWhileBreakStatements.ts(21,9): error TS1107: Jump target cannot cross function boundary. - invalidDoWhileBreakStatements.ts(27,5): error TS1116: A 'break' statement can only jump to a label of an enclosing statement. --invalidDoWhileBreakStatements.ts(33,1): error TS1344: 'A label is not allowed here. - invalidDoWhileBreakStatements.ts(37,5): error TS1116: A 'break' statement can only jump to a label of an enclosing statement. - - --==== invalidDoWhileBreakStatements.ts (7 errors) ==== -+==== invalidDoWhileBreakStatements.ts (6 errors) ==== - // All errors - - // naked break not allowed -@@= skipped -48, +47 lines =@@ - - // label on non-loop statement - NINE: -- ~~~~ --!!! error TS1344: 'A label is not allowed here. - var y = 12; - - do { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/invalidDoWhileContinueStatements.errors.txt b/testdata/baselines/reference/submodule/conformance/invalidDoWhileContinueStatements.errors.txt index 33a60d7f45f..988053a007f 100644 --- a/testdata/baselines/reference/submodule/conformance/invalidDoWhileContinueStatements.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/invalidDoWhileContinueStatements.errors.txt @@ -3,10 +3,11 @@ invalidDoWhileContinueStatements.ts(8,4): error TS1115: A 'continue' statement c invalidDoWhileContinueStatements.ts(14,9): error TS1107: Jump target cannot cross function boundary. invalidDoWhileContinueStatements.ts(21,9): error TS1107: Jump target cannot cross function boundary. invalidDoWhileContinueStatements.ts(27,5): error TS1115: A 'continue' statement can only jump to a label of an enclosing iteration statement. +invalidDoWhileContinueStatements.ts(33,1): error TS1344: 'A label is not allowed here. invalidDoWhileContinueStatements.ts(37,5): error TS1115: A 'continue' statement can only jump to a label of an enclosing iteration statement. -==== invalidDoWhileContinueStatements.ts (6 errors) ==== +==== invalidDoWhileContinueStatements.ts (7 errors) ==== // All errors // naked continue not allowed @@ -50,6 +51,8 @@ invalidDoWhileContinueStatements.ts(37,5): error TS1115: A 'continue' statement // label on non-loop statement NINE: + ~~~~ +!!! error TS1344: 'A label is not allowed here. var y = 12; do { diff --git a/testdata/baselines/reference/submodule/conformance/invalidDoWhileContinueStatements.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/invalidDoWhileContinueStatements.errors.txt.diff deleted file mode 100644 index e041b2ca55d..00000000000 --- a/testdata/baselines/reference/submodule/conformance/invalidDoWhileContinueStatements.errors.txt.diff +++ /dev/null @@ -1,24 +0,0 @@ ---- old.invalidDoWhileContinueStatements.errors.txt -+++ new.invalidDoWhileContinueStatements.errors.txt -@@= skipped -2, +2 lines =@@ - invalidDoWhileContinueStatements.ts(14,9): error TS1107: Jump target cannot cross function boundary. - invalidDoWhileContinueStatements.ts(21,9): error TS1107: Jump target cannot cross function boundary. - invalidDoWhileContinueStatements.ts(27,5): error TS1115: A 'continue' statement can only jump to a label of an enclosing iteration statement. --invalidDoWhileContinueStatements.ts(33,1): error TS1344: 'A label is not allowed here. - invalidDoWhileContinueStatements.ts(37,5): error TS1115: A 'continue' statement can only jump to a label of an enclosing iteration statement. - - --==== invalidDoWhileContinueStatements.ts (7 errors) ==== -+==== invalidDoWhileContinueStatements.ts (6 errors) ==== - // All errors - - // naked continue not allowed -@@= skipped -48, +47 lines =@@ - - // label on non-loop statement - NINE: -- ~~~~ --!!! error TS1344: 'A label is not allowed here. - var y = 12; - - do { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/invalidForBreakStatements.errors.txt b/testdata/baselines/reference/submodule/conformance/invalidForBreakStatements.errors.txt index 099663ea32f..47fbf6fc206 100644 --- a/testdata/baselines/reference/submodule/conformance/invalidForBreakStatements.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/invalidForBreakStatements.errors.txt @@ -3,10 +3,11 @@ invalidForBreakStatements.ts(8,9): error TS1116: A 'break' statement can only ju invalidForBreakStatements.ts(14,9): error TS1107: Jump target cannot cross function boundary. invalidForBreakStatements.ts(21,9): error TS1107: Jump target cannot cross function boundary. invalidForBreakStatements.ts(27,5): error TS1116: A 'break' statement can only jump to a label of an enclosing statement. +invalidForBreakStatements.ts(32,1): error TS1344: 'A label is not allowed here. invalidForBreakStatements.ts(36,5): error TS1116: A 'break' statement can only jump to a label of an enclosing statement. -==== invalidForBreakStatements.ts (6 errors) ==== +==== invalidForBreakStatements.ts (7 errors) ==== // All errors // naked break not allowed @@ -49,6 +50,8 @@ invalidForBreakStatements.ts(36,5): error TS1116: A 'break' statement can only j } // label on non-loop statement NINE: + ~~~~ +!!! error TS1344: 'A label is not allowed here. var y = 12; for(;;) { diff --git a/testdata/baselines/reference/submodule/conformance/invalidForBreakStatements.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/invalidForBreakStatements.errors.txt.diff deleted file mode 100644 index a2c9a925c29..00000000000 --- a/testdata/baselines/reference/submodule/conformance/invalidForBreakStatements.errors.txt.diff +++ /dev/null @@ -1,24 +0,0 @@ ---- old.invalidForBreakStatements.errors.txt -+++ new.invalidForBreakStatements.errors.txt -@@= skipped -2, +2 lines =@@ - invalidForBreakStatements.ts(14,9): error TS1107: Jump target cannot cross function boundary. - invalidForBreakStatements.ts(21,9): error TS1107: Jump target cannot cross function boundary. - invalidForBreakStatements.ts(27,5): error TS1116: A 'break' statement can only jump to a label of an enclosing statement. --invalidForBreakStatements.ts(32,1): error TS1344: 'A label is not allowed here. - invalidForBreakStatements.ts(36,5): error TS1116: A 'break' statement can only jump to a label of an enclosing statement. - - --==== invalidForBreakStatements.ts (7 errors) ==== -+==== invalidForBreakStatements.ts (6 errors) ==== - // All errors - - // naked break not allowed -@@= skipped -47, +46 lines =@@ - } - // label on non-loop statement - NINE: -- ~~~~ --!!! error TS1344: 'A label is not allowed here. - var y = 12; - - for(;;) { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/invalidForContinueStatements.errors.txt b/testdata/baselines/reference/submodule/conformance/invalidForContinueStatements.errors.txt index a13982e633c..146dbe4368b 100644 --- a/testdata/baselines/reference/submodule/conformance/invalidForContinueStatements.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/invalidForContinueStatements.errors.txt @@ -3,10 +3,11 @@ invalidForContinueStatements.ts(8,9): error TS1115: A 'continue' statement can o invalidForContinueStatements.ts(14,9): error TS1107: Jump target cannot cross function boundary. invalidForContinueStatements.ts(21,9): error TS1107: Jump target cannot cross function boundary. invalidForContinueStatements.ts(27,5): error TS1115: A 'continue' statement can only jump to a label of an enclosing iteration statement. +invalidForContinueStatements.ts(32,1): error TS1344: 'A label is not allowed here. invalidForContinueStatements.ts(36,5): error TS1115: A 'continue' statement can only jump to a label of an enclosing iteration statement. -==== invalidForContinueStatements.ts (6 errors) ==== +==== invalidForContinueStatements.ts (7 errors) ==== // All errors // naked continue not allowed @@ -49,6 +50,8 @@ invalidForContinueStatements.ts(36,5): error TS1115: A 'continue' statement can } // label on non-loop statement NINE: + ~~~~ +!!! error TS1344: 'A label is not allowed here. var y = 12; for(;;) { diff --git a/testdata/baselines/reference/submodule/conformance/invalidForContinueStatements.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/invalidForContinueStatements.errors.txt.diff deleted file mode 100644 index 333bf869e1f..00000000000 --- a/testdata/baselines/reference/submodule/conformance/invalidForContinueStatements.errors.txt.diff +++ /dev/null @@ -1,24 +0,0 @@ ---- old.invalidForContinueStatements.errors.txt -+++ new.invalidForContinueStatements.errors.txt -@@= skipped -2, +2 lines =@@ - invalidForContinueStatements.ts(14,9): error TS1107: Jump target cannot cross function boundary. - invalidForContinueStatements.ts(21,9): error TS1107: Jump target cannot cross function boundary. - invalidForContinueStatements.ts(27,5): error TS1115: A 'continue' statement can only jump to a label of an enclosing iteration statement. --invalidForContinueStatements.ts(32,1): error TS1344: 'A label is not allowed here. - invalidForContinueStatements.ts(36,5): error TS1115: A 'continue' statement can only jump to a label of an enclosing iteration statement. - - --==== invalidForContinueStatements.ts (7 errors) ==== -+==== invalidForContinueStatements.ts (6 errors) ==== - // All errors - - // naked continue not allowed -@@= skipped -47, +46 lines =@@ - } - // label on non-loop statement - NINE: -- ~~~~ --!!! error TS1344: 'A label is not allowed here. - var y = 12; - - for(;;) { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/invalidForInBreakStatements.errors.txt b/testdata/baselines/reference/submodule/conformance/invalidForInBreakStatements.errors.txt index 373d9bf99df..bac0c88a3d2 100644 --- a/testdata/baselines/reference/submodule/conformance/invalidForInBreakStatements.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/invalidForInBreakStatements.errors.txt @@ -3,10 +3,11 @@ invalidForInBreakStatements.ts(8,19): error TS1116: A 'break' statement can only invalidForInBreakStatements.ts(14,9): error TS1107: Jump target cannot cross function boundary. invalidForInBreakStatements.ts(21,9): error TS1107: Jump target cannot cross function boundary. invalidForInBreakStatements.ts(27,5): error TS1116: A 'break' statement can only jump to a label of an enclosing statement. +invalidForInBreakStatements.ts(33,1): error TS1344: 'A label is not allowed here. invalidForInBreakStatements.ts(37,5): error TS1116: A 'break' statement can only jump to a label of an enclosing statement. -==== invalidForInBreakStatements.ts (6 errors) ==== +==== invalidForInBreakStatements.ts (7 errors) ==== // All errors // naked break not allowed @@ -50,6 +51,8 @@ invalidForInBreakStatements.ts(37,5): error TS1116: A 'break' statement can only // label on non-loop statement NINE: + ~~~~ +!!! error TS1344: 'A label is not allowed here. var y = 12; for (var x in {}) { diff --git a/testdata/baselines/reference/submodule/conformance/invalidForInBreakStatements.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/invalidForInBreakStatements.errors.txt.diff deleted file mode 100644 index fe02f567f1e..00000000000 --- a/testdata/baselines/reference/submodule/conformance/invalidForInBreakStatements.errors.txt.diff +++ /dev/null @@ -1,24 +0,0 @@ ---- old.invalidForInBreakStatements.errors.txt -+++ new.invalidForInBreakStatements.errors.txt -@@= skipped -2, +2 lines =@@ - invalidForInBreakStatements.ts(14,9): error TS1107: Jump target cannot cross function boundary. - invalidForInBreakStatements.ts(21,9): error TS1107: Jump target cannot cross function boundary. - invalidForInBreakStatements.ts(27,5): error TS1116: A 'break' statement can only jump to a label of an enclosing statement. --invalidForInBreakStatements.ts(33,1): error TS1344: 'A label is not allowed here. - invalidForInBreakStatements.ts(37,5): error TS1116: A 'break' statement can only jump to a label of an enclosing statement. - - --==== invalidForInBreakStatements.ts (7 errors) ==== -+==== invalidForInBreakStatements.ts (6 errors) ==== - // All errors - - // naked break not allowed -@@= skipped -48, +47 lines =@@ - - // label on non-loop statement - NINE: -- ~~~~ --!!! error TS1344: 'A label is not allowed here. - var y = 12; - - for (var x in {}) { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/invalidForInContinueStatements.errors.txt b/testdata/baselines/reference/submodule/conformance/invalidForInContinueStatements.errors.txt index 71e765d3fa1..7a49045f8ba 100644 --- a/testdata/baselines/reference/submodule/conformance/invalidForInContinueStatements.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/invalidForInContinueStatements.errors.txt @@ -3,10 +3,11 @@ invalidForInContinueStatements.ts(8,19): error TS1115: A 'continue' statement ca invalidForInContinueStatements.ts(14,9): error TS1107: Jump target cannot cross function boundary. invalidForInContinueStatements.ts(21,9): error TS1107: Jump target cannot cross function boundary. invalidForInContinueStatements.ts(27,5): error TS1115: A 'continue' statement can only jump to a label of an enclosing iteration statement. +invalidForInContinueStatements.ts(33,1): error TS1344: 'A label is not allowed here. invalidForInContinueStatements.ts(37,5): error TS1115: A 'continue' statement can only jump to a label of an enclosing iteration statement. -==== invalidForInContinueStatements.ts (6 errors) ==== +==== invalidForInContinueStatements.ts (7 errors) ==== // All errors // naked continue not allowed @@ -50,6 +51,8 @@ invalidForInContinueStatements.ts(37,5): error TS1115: A 'continue' statement ca // label on non-loop statement NINE: + ~~~~ +!!! error TS1344: 'A label is not allowed here. var y = 12; for (var x in {}) { diff --git a/testdata/baselines/reference/submodule/conformance/invalidForInContinueStatements.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/invalidForInContinueStatements.errors.txt.diff deleted file mode 100644 index 1abec442459..00000000000 --- a/testdata/baselines/reference/submodule/conformance/invalidForInContinueStatements.errors.txt.diff +++ /dev/null @@ -1,24 +0,0 @@ ---- old.invalidForInContinueStatements.errors.txt -+++ new.invalidForInContinueStatements.errors.txt -@@= skipped -2, +2 lines =@@ - invalidForInContinueStatements.ts(14,9): error TS1107: Jump target cannot cross function boundary. - invalidForInContinueStatements.ts(21,9): error TS1107: Jump target cannot cross function boundary. - invalidForInContinueStatements.ts(27,5): error TS1115: A 'continue' statement can only jump to a label of an enclosing iteration statement. --invalidForInContinueStatements.ts(33,1): error TS1344: 'A label is not allowed here. - invalidForInContinueStatements.ts(37,5): error TS1115: A 'continue' statement can only jump to a label of an enclosing iteration statement. - - --==== invalidForInContinueStatements.ts (7 errors) ==== -+==== invalidForInContinueStatements.ts (6 errors) ==== - // All errors - - // naked continue not allowed -@@= skipped -48, +47 lines =@@ - - // label on non-loop statement - NINE: -- ~~~~ --!!! error TS1344: 'A label is not allowed here. - var y = 12; - - for (var x in {}) { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/invalidWhileBreakStatements.errors.txt b/testdata/baselines/reference/submodule/conformance/invalidWhileBreakStatements.errors.txt index b93a32288b2..b022d9f2d45 100644 --- a/testdata/baselines/reference/submodule/conformance/invalidWhileBreakStatements.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/invalidWhileBreakStatements.errors.txt @@ -3,10 +3,11 @@ invalidWhileBreakStatements.ts(8,14): error TS1116: A 'break' statement can only invalidWhileBreakStatements.ts(14,9): error TS1107: Jump target cannot cross function boundary. invalidWhileBreakStatements.ts(21,9): error TS1107: Jump target cannot cross function boundary. invalidWhileBreakStatements.ts(27,5): error TS1116: A 'break' statement can only jump to a label of an enclosing statement. +invalidWhileBreakStatements.ts(33,1): error TS1344: 'A label is not allowed here. invalidWhileBreakStatements.ts(37,5): error TS1116: A 'break' statement can only jump to a label of an enclosing statement. -==== invalidWhileBreakStatements.ts (6 errors) ==== +==== invalidWhileBreakStatements.ts (7 errors) ==== // All errors // naked break not allowed @@ -50,6 +51,8 @@ invalidWhileBreakStatements.ts(37,5): error TS1116: A 'break' statement can only // label on non-loop statement NINE: + ~~~~ +!!! error TS1344: 'A label is not allowed here. var y = 12; while (true) { diff --git a/testdata/baselines/reference/submodule/conformance/invalidWhileBreakStatements.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/invalidWhileBreakStatements.errors.txt.diff deleted file mode 100644 index 913837980f8..00000000000 --- a/testdata/baselines/reference/submodule/conformance/invalidWhileBreakStatements.errors.txt.diff +++ /dev/null @@ -1,24 +0,0 @@ ---- old.invalidWhileBreakStatements.errors.txt -+++ new.invalidWhileBreakStatements.errors.txt -@@= skipped -2, +2 lines =@@ - invalidWhileBreakStatements.ts(14,9): error TS1107: Jump target cannot cross function boundary. - invalidWhileBreakStatements.ts(21,9): error TS1107: Jump target cannot cross function boundary. - invalidWhileBreakStatements.ts(27,5): error TS1116: A 'break' statement can only jump to a label of an enclosing statement. --invalidWhileBreakStatements.ts(33,1): error TS1344: 'A label is not allowed here. - invalidWhileBreakStatements.ts(37,5): error TS1116: A 'break' statement can only jump to a label of an enclosing statement. - - --==== invalidWhileBreakStatements.ts (7 errors) ==== -+==== invalidWhileBreakStatements.ts (6 errors) ==== - // All errors - - // naked break not allowed -@@= skipped -48, +47 lines =@@ - - // label on non-loop statement - NINE: -- ~~~~ --!!! error TS1344: 'A label is not allowed here. - var y = 12; - - while (true) { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/invalidWhileContinueStatements.errors.txt b/testdata/baselines/reference/submodule/conformance/invalidWhileContinueStatements.errors.txt index e49c679e83f..fed2a6c20ef 100644 --- a/testdata/baselines/reference/submodule/conformance/invalidWhileContinueStatements.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/invalidWhileContinueStatements.errors.txt @@ -3,10 +3,11 @@ invalidWhileContinueStatements.ts(8,14): error TS1115: A 'continue' statement ca invalidWhileContinueStatements.ts(14,9): error TS1107: Jump target cannot cross function boundary. invalidWhileContinueStatements.ts(21,9): error TS1107: Jump target cannot cross function boundary. invalidWhileContinueStatements.ts(27,5): error TS1115: A 'continue' statement can only jump to a label of an enclosing iteration statement. +invalidWhileContinueStatements.ts(33,1): error TS1344: 'A label is not allowed here. invalidWhileContinueStatements.ts(37,5): error TS1115: A 'continue' statement can only jump to a label of an enclosing iteration statement. -==== invalidWhileContinueStatements.ts (6 errors) ==== +==== invalidWhileContinueStatements.ts (7 errors) ==== // All errors // naked continue not allowed @@ -50,6 +51,8 @@ invalidWhileContinueStatements.ts(37,5): error TS1115: A 'continue' statement ca // label on non-loop statement NINE: + ~~~~ +!!! error TS1344: 'A label is not allowed here. var y = 12; while (true) { diff --git a/testdata/baselines/reference/submodule/conformance/invalidWhileContinueStatements.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/invalidWhileContinueStatements.errors.txt.diff deleted file mode 100644 index a0c93aedf8c..00000000000 --- a/testdata/baselines/reference/submodule/conformance/invalidWhileContinueStatements.errors.txt.diff +++ /dev/null @@ -1,24 +0,0 @@ ---- old.invalidWhileContinueStatements.errors.txt -+++ new.invalidWhileContinueStatements.errors.txt -@@= skipped -2, +2 lines =@@ - invalidWhileContinueStatements.ts(14,9): error TS1107: Jump target cannot cross function boundary. - invalidWhileContinueStatements.ts(21,9): error TS1107: Jump target cannot cross function boundary. - invalidWhileContinueStatements.ts(27,5): error TS1115: A 'continue' statement can only jump to a label of an enclosing iteration statement. --invalidWhileContinueStatements.ts(33,1): error TS1344: 'A label is not allowed here. - invalidWhileContinueStatements.ts(37,5): error TS1115: A 'continue' statement can only jump to a label of an enclosing iteration statement. - - --==== invalidWhileContinueStatements.ts (7 errors) ==== -+==== invalidWhileContinueStatements.ts (6 errors) ==== - // All errors - - // naked continue not allowed -@@= skipped -48, +47 lines =@@ - - // label on non-loop statement - NINE: -- ~~~~ --!!! error TS1344: 'A label is not allowed here. - var y = 12; - - while (true) { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/labeledStatementWithLabel.errors.txt b/testdata/baselines/reference/submodule/conformance/labeledStatementWithLabel.errors.txt index 9ec3413158f..303c4f4a007 100644 --- a/testdata/baselines/reference/submodule/conformance/labeledStatementWithLabel.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/labeledStatementWithLabel.errors.txt @@ -1,23 +1,59 @@ +labeledStatementWithLabel.ts(1,1): error TS1344: 'A label is not allowed here. +labeledStatementWithLabel.ts(2,1): error TS1344: 'A label is not allowed here. +labeledStatementWithLabel.ts(3,1): error TS1344: 'A label is not allowed here. +labeledStatementWithLabel.ts(4,1): error TS1344: 'A label is not allowed here. +labeledStatementWithLabel.ts(5,1): error TS1344: 'A label is not allowed here. +labeledStatementWithLabel.ts(6,1): error TS1344: 'A label is not allowed here. +labeledStatementWithLabel.ts(7,1): error TS1344: 'A label is not allowed here. +labeledStatementWithLabel.ts(8,1): error TS1344: 'A label is not allowed here. +labeledStatementWithLabel.ts(9,1): error TS1344: 'A label is not allowed here. +labeledStatementWithLabel.ts(11,1): error TS1344: 'A label is not allowed here. labeledStatementWithLabel.ts(11,8): error TS1235: A namespace declaration is only allowed at the top level of a namespace or module. +labeledStatementWithLabel.ts(12,1): error TS1344: 'A label is not allowed here. labeledStatementWithLabel.ts(12,8): error TS1235: A namespace declaration is only allowed at the top level of a namespace or module. +labeledStatementWithLabel.ts(13,1): error TS1344: 'A label is not allowed here. -==== labeledStatementWithLabel.ts (2 errors) ==== +==== labeledStatementWithLabel.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: namespace 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/testdata/baselines/reference/submodule/conformance/labeledStatementWithLabel.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/labeledStatementWithLabel.errors.txt.diff deleted file mode 100644 index 77e945d8b0d..00000000000 --- a/testdata/baselines/reference/submodule/conformance/labeledStatementWithLabel.errors.txt.diff +++ /dev/null @@ -1,65 +0,0 @@ ---- old.labeledStatementWithLabel.errors.txt -+++ new.labeledStatementWithLabel.errors.txt -@@= skipped -0, +0 lines =@@ --labeledStatementWithLabel.ts(1,1): error TS1344: 'A label is not allowed here. --labeledStatementWithLabel.ts(2,1): error TS1344: 'A label is not allowed here. --labeledStatementWithLabel.ts(3,1): error TS1344: 'A label is not allowed here. --labeledStatementWithLabel.ts(4,1): error TS1344: 'A label is not allowed here. --labeledStatementWithLabel.ts(5,1): error TS1344: 'A label is not allowed here. --labeledStatementWithLabel.ts(6,1): error TS1344: 'A label is not allowed here. --labeledStatementWithLabel.ts(7,1): error TS1344: 'A label is not allowed here. --labeledStatementWithLabel.ts(8,1): error TS1344: 'A label is not allowed here. --labeledStatementWithLabel.ts(9,1): error TS1344: 'A label is not allowed here. --labeledStatementWithLabel.ts(11,1): error TS1344: 'A label is not allowed here. - labeledStatementWithLabel.ts(11,8): error TS1235: A namespace declaration is only allowed at the top level of a namespace or module. --labeledStatementWithLabel.ts(12,1): error TS1344: 'A label is not allowed here. - labeledStatementWithLabel.ts(12,8): error TS1235: A namespace declaration is only allowed at the top level of a namespace or module. --labeledStatementWithLabel.ts(13,1): error TS1344: 'A label is not allowed here. -- -- --==== labeledStatementWithLabel.ts (14 errors) ==== -+ -+ -+==== labeledStatementWithLabel.ts (2 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: namespace 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/testdata/baselines/reference/submodule/conformance/labeledStatementWithLabel_es2015.errors.txt b/testdata/baselines/reference/submodule/conformance/labeledStatementWithLabel_es2015.errors.txt index 7b0207d9a76..c332284ea0c 100644 --- a/testdata/baselines/reference/submodule/conformance/labeledStatementWithLabel_es2015.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/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: namespace 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/testdata/baselines/reference/submodule/conformance/labeledStatementWithLabel_es2015.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/labeledStatementWithLabel_es2015.errors.txt.diff deleted file mode 100644 index 1d8bcd30b7e..00000000000 --- a/testdata/baselines/reference/submodule/conformance/labeledStatementWithLabel_es2015.errors.txt.diff +++ /dev/null @@ -1,65 +0,0 @@ ---- old.labeledStatementWithLabel_es2015.errors.txt -+++ new.labeledStatementWithLabel_es2015.errors.txt -@@= skipped -0, +0 lines =@@ --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 (14 errors) ==== -+ -+ -+==== labeledStatementWithLabel_es2015.ts (2 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: namespace 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/testdata/baselines/reference/submodule/conformance/letIdentifierInElementAccess01.errors.txt b/testdata/baselines/reference/submodule/conformance/letIdentifierInElementAccess01.errors.txt new file mode 100644 index 00000000000..ad5189793ed --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/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/testdata/baselines/reference/submodule/conformance/letIdentifierInElementAccess01.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/letIdentifierInElementAccess01.errors.txt.diff deleted file mode 100644 index 89d501cfe55..00000000000 --- a/testdata/baselines/reference/submodule/conformance/letIdentifierInElementAccess01.errors.txt.diff +++ /dev/null @@ -1,15 +0,0 @@ ---- old.letIdentifierInElementAccess01.errors.txt -+++ new.letIdentifierInElementAccess01.errors.txt -@@= skipped -0, +0 lines =@@ --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/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.classMethods.es2018(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.classMethods.es2018(alwaysstrict=false).errors.txt deleted file mode 100644 index cfd5b716ff9..00000000000 --- a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.classMethods.es2018(alwaysstrict=false).errors.txt +++ /dev/null @@ -1,197 +0,0 @@ -asyncGeneratorGetAccessorIsError.ts(2,17): error TS1005: '(' expected. -asyncGeneratorPropertyIsError.ts(2,15): error TS1005: '(' expected. -asyncGeneratorSetAccessorIsError.ts(2,17): error TS1005: '(' expected. -awaitInParameterInitializerIsError.ts(2,19): error TS2524: 'await' expressions cannot be used in a parameter initializer. -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 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(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. -yieldInParameterInitializerIsError.ts(2,19): error TS2523: 'yield' expressions cannot be used in a parameter initializer. -yieldParameterIsError.ts(2,15): error TS1213: Identifier expected. 'yield' is a reserved word in strict mode. Class definitions are automatically in strict mode. -yieldStarMissingValueIsError.ts(3,16): error TS1109: Expression expected. - - -==== methodIsOk.ts (0 errors) ==== - class C1 { - async * f() { - } - } -==== awaitMethodNameIsOk.ts (0 errors) ==== - class C2 { - async * await() { - } - } -==== yieldMethodNameIsOk.ts (0 errors) ==== - class C3 { - async * yield() { - } - } -==== awaitParameterIsError.ts (1 errors) ==== - class C4 { - async * f(await) { - ~~~~~ -!!! error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. - } - } -==== yieldParameterIsError.ts (1 errors) ==== - class C5 { - async * f(yield) { - ~~~~~ -!!! error TS1213: Identifier expected. 'yield' is a reserved word in strict mode. Class definitions are automatically in strict mode. - } - } -==== awaitInParameterInitializerIsError.ts (1 errors) ==== - class C6 { - async * f(a = await 1) { - ~~~~~~~ -!!! error TS2524: 'await' expressions cannot be used in a parameter initializer. - } - } -==== yieldInParameterInitializerIsError.ts (1 errors) ==== - class C7 { - async * f(a = yield) { - ~~~~~ -!!! error TS2523: 'yield' expressions cannot be used in a parameter initializer. - } - } -==== nestedAsyncGeneratorIsOk.ts (0 errors) ==== - class C8 { - async * f() { - async function * g() { - } - } - } -==== nestedFunctionDeclarationNamedYieldIsError.ts (1 errors) ==== - class C9 { - async * f() { - function yield() { - ~~~~~ -!!! error TS1213: Identifier expected. 'yield' is a reserved word in strict mode. Class definitions are automatically in strict mode. - } - } - } -==== nestedFunctionExpressionNamedYieldIsError.ts (1 errors) ==== - class C10 { - async * f() { - const x = function yield() { - ~~~~~ -!!! error TS1213: Identifier expected. 'yield' is a reserved word in strict mode. Class definitions are automatically in strict mode. - }; - } - } -==== nestedFunctionDeclarationNamedAwaitIsError.ts (1 errors) ==== - class C11 { - async * f() { - function await() { - ~~~~~ -!!! error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. - } - } - } -==== nestedFunctionExpressionNamedAwaitIsError.ts (1 errors) ==== - class C12 { - async * f() { - const x = function await() { - ~~~~~ -!!! error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. - }; - } - } -==== yieldIsOk.ts (0 errors) ==== - class C13 { - async * f() { - yield; - } - } -==== yieldWithValueIsOk.ts (0 errors) ==== - class C14 { - async * f() { - yield 1; - } - } -==== yieldStarMissingValueIsError.ts (1 errors) ==== - class C15 { - async * f() { - yield *; - ~ -!!! error TS1109: Expression expected. - } - } -==== yieldStarWithValueIsOk.ts (0 errors) ==== - class C16 { - async * f() { - yield * []; - } - } -==== awaitWithValueIsOk.ts (0 errors) ==== - class C17 { - async * f() { - await 1; - } - } -==== awaitMissingValueIsError.ts (1 errors) ==== - class C18 { - async * f() { - await; - ~ -!!! error TS1109: Expression expected. - } - } -==== awaitAsTypeIsOk.ts (0 errors) ==== - interface await {} - class C19 { - async * f() { - let x: await; - } - } -==== yieldAsTypeIsStrictError.ts (1 errors) ==== - interface yield {} - class C20 { - async * f() { - let x: yield; - ~~~~~ -!!! error TS1213: Identifier expected. 'yield' is a reserved word in strict mode. Class definitions are automatically in strict mode. - } - } -==== yieldInClassComputedPropertyIsError.ts (2 errors) ==== - class C21 { - async * [yield]() { - ~~~~~ -!!! error TS1213: Identifier expected. 'yield' is a reserved word in strict mode. Class definitions are automatically in strict mode. - ~~~~~ -!!! error TS2693: 'yield' only refers to a type, but is being used as a value here. - } - } -==== yieldInNestedComputedPropertyIsOk.ts (0 errors) ==== - class C22 { - async * f() { - const x = { [yield]: 1 }; - } - } -==== asyncGeneratorGetAccessorIsError.ts (1 errors) ==== - class C23 { - async * get x() { - ~ -!!! error TS1005: '(' expected. - return 1; - } - } -==== asyncGeneratorSetAccessorIsError.ts (1 errors) ==== - class C24 { - async * set x(value: number) { - ~ -!!! error TS1005: '(' expected. - } - } -==== asyncGeneratorPropertyIsError.ts (1 errors) ==== - class C25 { - async * x = 1; - ~ -!!! error TS1005: '(' expected. - } - \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.classMethods.es2018(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.classMethods.es2018(alwaysstrict=false).symbols deleted file mode 100644 index 61fa90d7295..00000000000 --- a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.classMethods.es2018(alwaysstrict=false).symbols +++ /dev/null @@ -1,266 +0,0 @@ -//// [tests/cases/conformance/parser/ecmascript2018/asyncGenerators/parser.asyncGenerators.classMethods.es2018.ts] //// - -=== methodIsOk.ts === -class C1 { ->C1 : Symbol(C1, Decl(methodIsOk.ts, 0, 0)) - - async * f() { ->f : Symbol(C1.f, Decl(methodIsOk.ts, 0, 10)) - } -} -=== awaitMethodNameIsOk.ts === -class C2 { ->C2 : Symbol(C2, Decl(awaitMethodNameIsOk.ts, 0, 0)) - - async * await() { ->await : Symbol(C2.await, Decl(awaitMethodNameIsOk.ts, 0, 10)) - } -} -=== yieldMethodNameIsOk.ts === -class C3 { ->C3 : Symbol(C3, Decl(yieldMethodNameIsOk.ts, 0, 0)) - - async * yield() { ->yield : Symbol(C3.yield, Decl(yieldMethodNameIsOk.ts, 0, 10)) - } -} -=== awaitParameterIsError.ts === -class C4 { ->C4 : Symbol(C4, Decl(awaitParameterIsError.ts, 0, 0)) - - async * f(await) { ->f : Symbol(C4.f, Decl(awaitParameterIsError.ts, 0, 10)) ->await : Symbol(await, Decl(awaitParameterIsError.ts, 1, 14)) - } -} -=== yieldParameterIsError.ts === -class C5 { ->C5 : Symbol(C5, Decl(yieldParameterIsError.ts, 0, 0)) - - async * f(yield) { ->f : Symbol(C5.f, Decl(yieldParameterIsError.ts, 0, 10)) ->yield : Symbol(yield, Decl(yieldParameterIsError.ts, 1, 14)) - } -} -=== awaitInParameterInitializerIsError.ts === -class C6 { ->C6 : Symbol(C6, Decl(awaitInParameterInitializerIsError.ts, 0, 0)) - - async * f(a = await 1) { ->f : Symbol(C6.f, Decl(awaitInParameterInitializerIsError.ts, 0, 10)) ->a : Symbol(a, Decl(awaitInParameterInitializerIsError.ts, 1, 14)) - } -} -=== yieldInParameterInitializerIsError.ts === -class C7 { ->C7 : Symbol(C7, Decl(yieldInParameterInitializerIsError.ts, 0, 0)) - - async * f(a = yield) { ->f : Symbol(C7.f, Decl(yieldInParameterInitializerIsError.ts, 0, 10)) ->a : Symbol(a, Decl(yieldInParameterInitializerIsError.ts, 1, 14)) - } -} -=== nestedAsyncGeneratorIsOk.ts === -class C8 { ->C8 : Symbol(C8, Decl(nestedAsyncGeneratorIsOk.ts, 0, 0)) - - async * f() { ->f : Symbol(C8.f, Decl(nestedAsyncGeneratorIsOk.ts, 0, 10)) - - async function * g() { ->g : Symbol(g, Decl(nestedAsyncGeneratorIsOk.ts, 1, 17)) - } - } -} -=== nestedFunctionDeclarationNamedYieldIsError.ts === -class C9 { ->C9 : Symbol(C9, Decl(nestedFunctionDeclarationNamedYieldIsError.ts, 0, 0)) - - async * f() { ->f : Symbol(C9.f, Decl(nestedFunctionDeclarationNamedYieldIsError.ts, 0, 10)) - - function yield() { ->yield : Symbol(yield, Decl(nestedFunctionDeclarationNamedYieldIsError.ts, 1, 17)) - } - } -} -=== nestedFunctionExpressionNamedYieldIsError.ts === -class C10 { ->C10 : Symbol(C10, Decl(nestedFunctionExpressionNamedYieldIsError.ts, 0, 0)) - - async * f() { ->f : Symbol(C10.f, Decl(nestedFunctionExpressionNamedYieldIsError.ts, 0, 11)) - - const x = function yield() { ->x : Symbol(x, Decl(nestedFunctionExpressionNamedYieldIsError.ts, 2, 13)) ->yield : Symbol(yield, Decl(nestedFunctionExpressionNamedYieldIsError.ts, 2, 17)) - - }; - } -} -=== nestedFunctionDeclarationNamedAwaitIsError.ts === -class C11 { ->C11 : Symbol(C11, Decl(nestedFunctionDeclarationNamedAwaitIsError.ts, 0, 0)) - - async * f() { ->f : Symbol(C11.f, Decl(nestedFunctionDeclarationNamedAwaitIsError.ts, 0, 11)) - - function await() { ->await : Symbol(await, Decl(nestedFunctionDeclarationNamedAwaitIsError.ts, 1, 17)) - } - } -} -=== nestedFunctionExpressionNamedAwaitIsError.ts === -class C12 { ->C12 : Symbol(C12, Decl(nestedFunctionExpressionNamedAwaitIsError.ts, 0, 0)) - - async * f() { ->f : Symbol(C12.f, Decl(nestedFunctionExpressionNamedAwaitIsError.ts, 0, 11)) - - const x = function await() { ->x : Symbol(x, Decl(nestedFunctionExpressionNamedAwaitIsError.ts, 2, 13)) ->await : Symbol(await, Decl(nestedFunctionExpressionNamedAwaitIsError.ts, 2, 17)) - - }; - } -} -=== yieldIsOk.ts === -class C13 { ->C13 : Symbol(C13, Decl(yieldIsOk.ts, 0, 0)) - - async * f() { ->f : Symbol(C13.f, Decl(yieldIsOk.ts, 0, 11)) - - yield; - } -} -=== yieldWithValueIsOk.ts === -class C14 { ->C14 : Symbol(C14, Decl(yieldWithValueIsOk.ts, 0, 0)) - - async * f() { ->f : Symbol(C14.f, Decl(yieldWithValueIsOk.ts, 0, 11)) - - yield 1; - } -} -=== yieldStarMissingValueIsError.ts === -class C15 { ->C15 : Symbol(C15, Decl(yieldStarMissingValueIsError.ts, 0, 0)) - - async * f() { ->f : Symbol(C15.f, Decl(yieldStarMissingValueIsError.ts, 0, 11)) - - yield *; - } -} -=== yieldStarWithValueIsOk.ts === -class C16 { ->C16 : Symbol(C16, Decl(yieldStarWithValueIsOk.ts, 0, 0)) - - async * f() { ->f : Symbol(C16.f, Decl(yieldStarWithValueIsOk.ts, 0, 11)) - - yield * []; - } -} -=== awaitWithValueIsOk.ts === -class C17 { ->C17 : Symbol(C17, Decl(awaitWithValueIsOk.ts, 0, 0)) - - async * f() { ->f : Symbol(C17.f, Decl(awaitWithValueIsOk.ts, 0, 11)) - - await 1; - } -} -=== awaitMissingValueIsError.ts === -class C18 { ->C18 : Symbol(C18, Decl(awaitMissingValueIsError.ts, 0, 0)) - - async * f() { ->f : Symbol(C18.f, Decl(awaitMissingValueIsError.ts, 0, 11)) - - await; - } -} -=== awaitAsTypeIsOk.ts === -interface await {} ->await : Symbol(await, Decl(awaitAsTypeIsOk.ts, 0, 0)) - -class C19 { ->C19 : Symbol(C19, Decl(awaitAsTypeIsOk.ts, 0, 18)) - - async * f() { ->f : Symbol(C19.f, Decl(awaitAsTypeIsOk.ts, 1, 11)) - - let x: await; ->x : Symbol(x, Decl(awaitAsTypeIsOk.ts, 3, 11)) ->await : Symbol(await, Decl(awaitAsTypeIsOk.ts, 0, 0)) - } -} -=== yieldAsTypeIsStrictError.ts === -interface yield {} ->yield : Symbol(yield, Decl(yieldAsTypeIsStrictError.ts, 0, 0)) - -class C20 { ->C20 : Symbol(C20, Decl(yieldAsTypeIsStrictError.ts, 0, 18)) - - async * f() { ->f : Symbol(C20.f, Decl(yieldAsTypeIsStrictError.ts, 1, 11)) - - let x: yield; ->x : Symbol(x, Decl(yieldAsTypeIsStrictError.ts, 3, 11)) ->yield : Symbol(yield, Decl(yieldAsTypeIsStrictError.ts, 0, 0)) - } -} -=== yieldInClassComputedPropertyIsError.ts === -class C21 { ->C21 : Symbol(C21, Decl(yieldInClassComputedPropertyIsError.ts, 0, 0)) - - async * [yield]() { ->[yield] : Symbol(C21[yield], Decl(yieldInClassComputedPropertyIsError.ts, 0, 11)) - } -} -=== yieldInNestedComputedPropertyIsOk.ts === -class C22 { ->C22 : Symbol(C22, Decl(yieldInNestedComputedPropertyIsOk.ts, 0, 0)) - - async * f() { ->f : Symbol(C22.f, Decl(yieldInNestedComputedPropertyIsOk.ts, 0, 11)) - - const x = { [yield]: 1 }; ->x : Symbol(x, Decl(yieldInNestedComputedPropertyIsOk.ts, 2, 13)) ->[yield] : Symbol([yield], Decl(yieldInNestedComputedPropertyIsOk.ts, 2, 19)) - } -} -=== asyncGeneratorGetAccessorIsError.ts === -class C23 { ->C23 : Symbol(C23, Decl(asyncGeneratorGetAccessorIsError.ts, 0, 0)) - - async * get x() { ->get : Symbol(C23.get, Decl(asyncGeneratorGetAccessorIsError.ts, 0, 11)) ->x : Symbol(C23.x, Decl(asyncGeneratorGetAccessorIsError.ts, 1, 15)) - - return 1; - } -} -=== asyncGeneratorSetAccessorIsError.ts === -class C24 { ->C24 : Symbol(C24, Decl(asyncGeneratorSetAccessorIsError.ts, 0, 0)) - - async * set x(value: number) { ->set : Symbol(C24.set, Decl(asyncGeneratorSetAccessorIsError.ts, 0, 11)) ->x : Symbol(C24.x, Decl(asyncGeneratorSetAccessorIsError.ts, 1, 15)) ->value : Symbol(value, Decl(asyncGeneratorSetAccessorIsError.ts, 1, 18)) - } -} -=== asyncGeneratorPropertyIsError.ts === -class C25 { ->C25 : Symbol(C25, Decl(asyncGeneratorPropertyIsError.ts, 0, 0)) - - async * x = 1; ->x : Symbol(C25.x, Decl(asyncGeneratorPropertyIsError.ts, 0, 11)) ->1 : Symbol(C25[1], Decl(asyncGeneratorPropertyIsError.ts, 1, 15)) -} - diff --git a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.classMethods.es2018(alwaysstrict=false).types b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.classMethods.es2018(alwaysstrict=false).types deleted file mode 100644 index c7f3a8c6c2d..00000000000 --- a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.classMethods.es2018(alwaysstrict=false).types +++ /dev/null @@ -1,281 +0,0 @@ -//// [tests/cases/conformance/parser/ecmascript2018/asyncGenerators/parser.asyncGenerators.classMethods.es2018.ts] //// - -=== methodIsOk.ts === -class C1 { ->C1 : C1 - - async * f() { ->f : () => AsyncGenerator - } -} -=== awaitMethodNameIsOk.ts === -class C2 { ->C2 : C2 - - async * await() { ->await : () => AsyncGenerator - } -} -=== yieldMethodNameIsOk.ts === -class C3 { ->C3 : C3 - - async * yield() { ->yield : () => AsyncGenerator - } -} -=== awaitParameterIsError.ts === -class C4 { ->C4 : C4 - - async * f(await) { ->f : (await: any) => AsyncGenerator ->await : any - } -} -=== yieldParameterIsError.ts === -class C5 { ->C5 : C5 - - async * f(yield) { ->f : (yield: any) => AsyncGenerator ->yield : any - } -} -=== awaitInParameterInitializerIsError.ts === -class C6 { ->C6 : C6 - - async * f(a = await 1) { ->f : (a?: number) => AsyncGenerator ->a : number ->await 1 : 1 ->1 : 1 - } -} -=== yieldInParameterInitializerIsError.ts === -class C7 { ->C7 : C7 - - async * f(a = yield) { ->f : (a?: any) => AsyncGenerator ->a : any ->yield : any - } -} -=== nestedAsyncGeneratorIsOk.ts === -class C8 { ->C8 : C8 - - async * f() { ->f : () => AsyncGenerator - - async function * g() { ->g : () => AsyncGenerator - } - } -} -=== nestedFunctionDeclarationNamedYieldIsError.ts === -class C9 { ->C9 : C9 - - async * f() { ->f : () => AsyncGenerator - - function yield() { ->yield : () => void - } - } -} -=== nestedFunctionExpressionNamedYieldIsError.ts === -class C10 { ->C10 : C10 - - async * f() { ->f : () => AsyncGenerator - - const x = function yield() { ->x : () => void ->function yield() { } : () => void ->yield : () => void - - }; - } -} -=== nestedFunctionDeclarationNamedAwaitIsError.ts === -class C11 { ->C11 : C11 - - async * f() { ->f : () => AsyncGenerator - - function await() { ->await : () => void - } - } -} -=== nestedFunctionExpressionNamedAwaitIsError.ts === -class C12 { ->C12 : C12 - - async * f() { ->f : () => AsyncGenerator - - const x = function await() { ->x : () => void ->function await() { } : () => void ->await : () => void - - }; - } -} -=== yieldIsOk.ts === -class C13 { ->C13 : C13 - - async * f() { ->f : () => AsyncGenerator - - yield; ->yield : any - } -} -=== yieldWithValueIsOk.ts === -class C14 { ->C14 : C14 - - async * f() { ->f : () => AsyncGenerator - - yield 1; ->yield 1 : any ->1 : 1 - } -} -=== yieldStarMissingValueIsError.ts === -class C15 { ->C15 : C15 - - async * f() { ->f : () => AsyncGenerator - - yield *; ->yield * : any -> : any - } -} -=== yieldStarWithValueIsOk.ts === -class C16 { ->C16 : C16 - - async * f() { ->f : () => AsyncGenerator - - yield * []; ->yield * [] : any ->[] : undefined[] - } -} -=== awaitWithValueIsOk.ts === -class C17 { ->C17 : C17 - - async * f() { ->f : () => AsyncGenerator - - await 1; ->await 1 : 1 ->1 : 1 - } -} -=== awaitMissingValueIsError.ts === -class C18 { ->C18 : C18 - - async * f() { ->f : () => AsyncGenerator - - await; ->await : any -> : any - } -} -=== awaitAsTypeIsOk.ts === -interface await {} -class C19 { ->C19 : C19 - - async * f() { ->f : () => AsyncGenerator - - let x: await; ->x : await - } -} -=== yieldAsTypeIsStrictError.ts === -interface yield {} -class C20 { ->C20 : C20 - - async * f() { ->f : () => AsyncGenerator - - let x: yield; ->x : yield - } -} -=== yieldInClassComputedPropertyIsError.ts === -class C21 { ->C21 : C21 - - async * [yield]() { ->[yield] : () => AsyncGenerator ->yield : any - } -} -=== yieldInNestedComputedPropertyIsOk.ts === -class C22 { ->C22 : C22 - - async * f() { ->f : () => AsyncGenerator - - const x = { [yield]: 1 }; ->x : { [x: number]: number; } ->{ [yield]: 1 } : { [x: number]: number; } ->[yield] : number ->yield : any ->1 : 1 - } -} -=== asyncGeneratorGetAccessorIsError.ts === -class C23 { ->C23 : C23 - - async * get x() { ->get : () => any ->x : () => number - - return 1; ->1 : 1 - } -} -=== asyncGeneratorSetAccessorIsError.ts === -class C24 { ->C24 : C24 - - async * set x(value: number) { ->set : () => any ->x : (value: number) => void ->value : number - } -} -=== asyncGeneratorPropertyIsError.ts === -class C25 { ->C25 : C25 - - async * x = 1; ->x : () => any ->1 : any -} - diff --git a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionDeclarations.es2018(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionDeclarations.es2018(alwaysstrict=false).errors.txt deleted file mode 100644 index c2ed90eace2..00000000000 --- a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionDeclarations.es2018(alwaysstrict=false).errors.txt +++ /dev/null @@ -1,117 +0,0 @@ -awaitInParameterInitializerIsError.ts(1,25): error TS2524: 'await' expressions cannot be used in a parameter initializer. -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. -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. -yieldStarMissingValueIsError.ts(2,12): error TS1109: Expression expected. - - -==== functionDeclarationIsOk.ts (0 errors) ==== - async function * f1() { - } -==== awaitNameIsOk.ts (0 errors) ==== - async function * await() { - } -==== yieldNameIsOk.ts (0 errors) ==== - async function * yield() { - } -==== awaitParameterIsError.ts (1 errors) ==== - async function * f4(await) { - ~~~~~ -!!! error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. - } -==== yieldParameterIsError.ts (1 errors) ==== - async function * f5(yield) { - ~~~~~ -!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. - } -==== awaitInParameterInitializerIsError.ts (1 errors) ==== - async function * f6(a = await 1) { - ~~~~~~~ -!!! error TS2524: 'await' expressions cannot be used in a parameter initializer. - } -==== yieldInParameterInitializerIsError.ts (1 errors) ==== - async function * f7(a = yield) { - ~~~~~ -!!! error TS2523: 'yield' expressions cannot be used in a parameter initializer. - } -==== nestedAsyncGeneratorIsOk.ts (0 errors) ==== - async function * f8() { - async function * g() { - } - } -==== nestedFunctionDeclarationNamedYieldIsError.ts (1 errors) ==== - async function * f9() { - function yield() { - ~~~~~ -!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. - } - } -==== 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. - }; - } -==== nestedFunctionDeclarationNamedAwaitIsError.ts (1 errors) ==== - async function * f11() { - function await() { - ~~~~~ -!!! error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. - } - } -==== nestedFunctionExpressionNamedAwaitIsError.ts (1 errors) ==== - async function * f12() { - const x = function yield() { - ~~~~~ -!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. - }; - } -==== yieldIsOk.ts (0 errors) ==== - async function * f13() { - yield; - } -==== yieldWithValueIsOk.ts (0 errors) ==== - async function * f14() { - yield 1; - } -==== yieldStarMissingValueIsError.ts (1 errors) ==== - async function * f15() { - yield *; - ~ -!!! error TS1109: Expression expected. - } -==== yieldStarWithValueIsOk.ts (0 errors) ==== - async function * f16() { - yield * []; - } -==== awaitWithValueIsOk.ts (0 errors) ==== - async function * f17() { - await 1; - } -==== awaitMissingValueIsError.ts (1 errors) ==== - async function * f18() { - await; - ~ -!!! error TS1109: Expression expected. - } -==== awaitAsTypeIsOk.ts (0 errors) ==== - interface await {} - async function * f19() { - let x: await; - } -==== yieldAsTypeIsOk.ts (0 errors) ==== - interface yield {} - async function * f20() { - let x: yield; - } -==== yieldInNestedComputedPropertyIsOk.ts (0 errors) ==== - async function * f21() { - const x = { [yield]: 1 }; - } - \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionDeclarations.es2018(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionDeclarations.es2018(alwaysstrict=false).symbols deleted file mode 100644 index a09eca52712..00000000000 --- a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionDeclarations.es2018(alwaysstrict=false).symbols +++ /dev/null @@ -1,145 +0,0 @@ -//// [tests/cases/conformance/parser/ecmascript2018/asyncGenerators/parser.asyncGenerators.functionDeclarations.es2018.ts] //// - -=== functionDeclarationIsOk.ts === -async function * f1() { ->f1 : Symbol(f1, Decl(functionDeclarationIsOk.ts, 0, 0)) -} -=== awaitNameIsOk.ts === -async function * await() { ->await : Symbol(await, Decl(awaitNameIsOk.ts, 0, 0), Decl(awaitAsTypeIsOk.ts, 0, 0)) -} -=== yieldNameIsOk.ts === -async function * yield() { ->yield : Symbol(yield, Decl(yieldNameIsOk.ts, 0, 0), Decl(yieldAsTypeIsOk.ts, 0, 0)) -} -=== awaitParameterIsError.ts === -async function * f4(await) { ->f4 : Symbol(f4, Decl(awaitParameterIsError.ts, 0, 0)) ->await : Symbol(await, Decl(awaitParameterIsError.ts, 0, 20)) -} -=== yieldParameterIsError.ts === -async function * f5(yield) { ->f5 : Symbol(f5, Decl(yieldParameterIsError.ts, 0, 0)) ->yield : Symbol(yield, Decl(yieldParameterIsError.ts, 0, 20)) -} -=== awaitInParameterInitializerIsError.ts === -async function * f6(a = await 1) { ->f6 : Symbol(f6, Decl(awaitInParameterInitializerIsError.ts, 0, 0)) ->a : Symbol(a, Decl(awaitInParameterInitializerIsError.ts, 0, 20)) -} -=== yieldInParameterInitializerIsError.ts === -async function * f7(a = yield) { ->f7 : Symbol(f7, Decl(yieldInParameterInitializerIsError.ts, 0, 0)) ->a : Symbol(a, Decl(yieldInParameterInitializerIsError.ts, 0, 20)) -} -=== nestedAsyncGeneratorIsOk.ts === -async function * f8() { ->f8 : Symbol(f8, Decl(nestedAsyncGeneratorIsOk.ts, 0, 0)) - - async function * g() { ->g : Symbol(g, Decl(nestedAsyncGeneratorIsOk.ts, 0, 23)) - } -} -=== nestedFunctionDeclarationNamedYieldIsError.ts === -async function * f9() { ->f9 : Symbol(f9, Decl(nestedFunctionDeclarationNamedYieldIsError.ts, 0, 0)) - - function yield() { ->yield : Symbol(yield, Decl(nestedFunctionDeclarationNamedYieldIsError.ts, 0, 23)) - } -} -=== nestedFunctionExpressionNamedYieldIsError.ts === -async function * f10() { ->f10 : Symbol(f10, Decl(nestedFunctionExpressionNamedYieldIsError.ts, 0, 0)) - - const x = function yield() { ->x : Symbol(x, Decl(nestedFunctionExpressionNamedYieldIsError.ts, 1, 9)) ->yield : Symbol(yield, Decl(nestedFunctionExpressionNamedYieldIsError.ts, 1, 13)) - - }; -} -=== nestedFunctionDeclarationNamedAwaitIsError.ts === -async function * f11() { ->f11 : Symbol(f11, Decl(nestedFunctionDeclarationNamedAwaitIsError.ts, 0, 0)) - - function await() { ->await : Symbol(await, Decl(nestedFunctionDeclarationNamedAwaitIsError.ts, 0, 24)) - } -} -=== nestedFunctionExpressionNamedAwaitIsError.ts === -async function * f12() { ->f12 : Symbol(f12, Decl(nestedFunctionExpressionNamedAwaitIsError.ts, 0, 0)) - - const x = function yield() { ->x : Symbol(x, Decl(nestedFunctionExpressionNamedAwaitIsError.ts, 1, 9)) ->yield : Symbol(yield, Decl(nestedFunctionExpressionNamedAwaitIsError.ts, 1, 13)) - - }; -} -=== yieldIsOk.ts === -async function * f13() { ->f13 : Symbol(f13, Decl(yieldIsOk.ts, 0, 0)) - - yield; -} -=== yieldWithValueIsOk.ts === -async function * f14() { ->f14 : Symbol(f14, Decl(yieldWithValueIsOk.ts, 0, 0)) - - yield 1; -} -=== yieldStarMissingValueIsError.ts === -async function * f15() { ->f15 : Symbol(f15, Decl(yieldStarMissingValueIsError.ts, 0, 0)) - - yield *; -} -=== yieldStarWithValueIsOk.ts === -async function * f16() { ->f16 : Symbol(f16, Decl(yieldStarWithValueIsOk.ts, 0, 0)) - - yield * []; -} -=== awaitWithValueIsOk.ts === -async function * f17() { ->f17 : Symbol(f17, Decl(awaitWithValueIsOk.ts, 0, 0)) - - await 1; -} -=== awaitMissingValueIsError.ts === -async function * f18() { ->f18 : Symbol(f18, Decl(awaitMissingValueIsError.ts, 0, 0)) - - await; -} -=== awaitAsTypeIsOk.ts === -interface await {} ->await : Symbol(await, Decl(awaitNameIsOk.ts, 0, 0), Decl(awaitAsTypeIsOk.ts, 0, 0)) - -async function * f19() { ->f19 : Symbol(f19, Decl(awaitAsTypeIsOk.ts, 0, 18)) - - let x: await; ->x : Symbol(x, Decl(awaitAsTypeIsOk.ts, 2, 7)) ->await : Symbol(await, Decl(awaitNameIsOk.ts, 0, 0), Decl(awaitAsTypeIsOk.ts, 0, 0)) -} -=== yieldAsTypeIsOk.ts === -interface yield {} ->yield : Symbol(yield, Decl(yieldNameIsOk.ts, 0, 0), Decl(yieldAsTypeIsOk.ts, 0, 0)) - -async function * f20() { ->f20 : Symbol(f20, Decl(yieldAsTypeIsOk.ts, 0, 18)) - - let x: yield; ->x : Symbol(x, Decl(yieldAsTypeIsOk.ts, 2, 7)) ->yield : Symbol(yield, Decl(yieldNameIsOk.ts, 0, 0), Decl(yieldAsTypeIsOk.ts, 0, 0)) -} -=== yieldInNestedComputedPropertyIsOk.ts === -async function * f21() { ->f21 : Symbol(f21, Decl(yieldInNestedComputedPropertyIsOk.ts, 0, 0)) - - const x = { [yield]: 1 }; ->x : Symbol(x, Decl(yieldInNestedComputedPropertyIsOk.ts, 1, 9)) ->[yield] : Symbol([yield], Decl(yieldInNestedComputedPropertyIsOk.ts, 1, 15)) -} - diff --git a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionDeclarations.es2018(alwaysstrict=false).types b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionDeclarations.es2018(alwaysstrict=false).types deleted file mode 100644 index b4ff288a01b..00000000000 --- a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionDeclarations.es2018(alwaysstrict=false).types +++ /dev/null @@ -1,158 +0,0 @@ -//// [tests/cases/conformance/parser/ecmascript2018/asyncGenerators/parser.asyncGenerators.functionDeclarations.es2018.ts] //// - -=== functionDeclarationIsOk.ts === -async function * f1() { ->f1 : () => AsyncGenerator -} -=== awaitNameIsOk.ts === -async function * await() { ->await : () => AsyncGenerator -} -=== yieldNameIsOk.ts === -async function * yield() { ->yield : () => AsyncGenerator -} -=== awaitParameterIsError.ts === -async function * f4(await) { ->f4 : (await: any) => AsyncGenerator ->await : any -} -=== yieldParameterIsError.ts === -async function * f5(yield) { ->f5 : (yield: any) => AsyncGenerator ->yield : any -} -=== awaitInParameterInitializerIsError.ts === -async function * f6(a = await 1) { ->f6 : (a?: number) => AsyncGenerator ->a : number ->await 1 : 1 ->1 : 1 -} -=== yieldInParameterInitializerIsError.ts === -async function * f7(a = yield) { ->f7 : (a?: any) => AsyncGenerator ->a : any ->yield : any -} -=== nestedAsyncGeneratorIsOk.ts === -async function * f8() { ->f8 : () => AsyncGenerator - - async function * g() { ->g : () => AsyncGenerator - } -} -=== nestedFunctionDeclarationNamedYieldIsError.ts === -async function * f9() { ->f9 : () => AsyncGenerator - - function yield() { ->yield : () => void - } -} -=== nestedFunctionExpressionNamedYieldIsError.ts === -async function * f10() { ->f10 : () => AsyncGenerator - - const x = function yield() { ->x : () => void ->function yield() { } : () => void ->yield : () => void - - }; -} -=== nestedFunctionDeclarationNamedAwaitIsError.ts === -async function * f11() { ->f11 : () => AsyncGenerator - - function await() { ->await : () => void - } -} -=== nestedFunctionExpressionNamedAwaitIsError.ts === -async function * f12() { ->f12 : () => AsyncGenerator - - const x = function yield() { ->x : () => void ->function yield() { } : () => void ->yield : () => void - - }; -} -=== yieldIsOk.ts === -async function * f13() { ->f13 : () => AsyncGenerator - - yield; ->yield : any -} -=== yieldWithValueIsOk.ts === -async function * f14() { ->f14 : () => AsyncGenerator - - yield 1; ->yield 1 : any ->1 : 1 -} -=== yieldStarMissingValueIsError.ts === -async function * f15() { ->f15 : () => AsyncGenerator - - yield *; ->yield * : any -> : any -} -=== yieldStarWithValueIsOk.ts === -async function * f16() { ->f16 : () => AsyncGenerator - - yield * []; ->yield * [] : any ->[] : undefined[] -} -=== awaitWithValueIsOk.ts === -async function * f17() { ->f17 : () => AsyncGenerator - - await 1; ->await 1 : 1 ->1 : 1 -} -=== awaitMissingValueIsError.ts === -async function * f18() { ->f18 : () => AsyncGenerator - - await; ->await : any -> : any -} -=== awaitAsTypeIsOk.ts === -interface await {} -async function * f19() { ->f19 : () => AsyncGenerator - - let x: await; ->x : await -} -=== yieldAsTypeIsOk.ts === -interface yield {} -async function * f20() { ->f20 : () => AsyncGenerator - - let x: yield; ->x : yield -} -=== yieldInNestedComputedPropertyIsOk.ts === -async function * f21() { ->f21 : () => AsyncGenerator - - const x = { [yield]: 1 }; ->x : { [x: number]: number; } ->{ [yield]: 1 } : { [x: number]: number; } ->[yield] : number ->yield : any ->1 : 1 -} - diff --git a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionExpressions.es2018(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionExpressions.es2018(alwaysstrict=false).errors.txt deleted file mode 100644 index 87e4127bc88..00000000000 --- a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionExpressions.es2018(alwaysstrict=false).errors.txt +++ /dev/null @@ -1,123 +0,0 @@ -awaitInParameterInitializerIsError.ts(1,34): error TS2524: 'await' expressions cannot be used in a parameter initializer. -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. -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. -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. -yieldStarMissingValueIsError.ts(2,12): error TS1109: Expression expected. - - -==== functionExpressionIsOk.ts (0 errors) ==== - const f1 = async function * f() { - }; -==== awaitNameIsError.ts (1 errors) ==== - const f2 = async function * await() { - ~~~~~ -!!! error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. - }; -==== yieldNameIsError.ts (1 errors) ==== - const f3 = async function * yield() { - ~~~~~ -!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. - }; -==== awaitParameterIsError.ts (1 errors) ==== - const f4 = async function * (await) { - ~~~~~ -!!! error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. - }; -==== yieldParameterIsError.ts (1 errors) ==== - const f5 = async function * (yield) { - ~~~~~ -!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. - }; -==== awaitInParameterInitializerIsError.ts (1 errors) ==== - const f6 = async function * (a = await 1) { - ~~~~~~~ -!!! error TS2524: 'await' expressions cannot be used in a parameter initializer. - }; -==== yieldInParameterInitializerIsError.ts (1 errors) ==== - const f7 = async function * (a = yield) { - ~~~~~ -!!! error TS2523: 'yield' expressions cannot be used in a parameter initializer. - }; -==== nestedAsyncGeneratorIsOk.ts (0 errors) ==== - const f8 = async function * () { - async function * g() { - } - }; -==== nestedFunctionDeclarationNamedYieldIsError.ts (1 errors) ==== - const f9 = async function * () { - function yield() { - ~~~~~ -!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. - } - }; -==== 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. - }; - }; -==== nestedFunctionDeclarationNamedAwaitIsError.ts (1 errors) ==== - const f11 = async function * () { - function await() { - ~~~~~ -!!! error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. - } - }; -==== nestedFunctionExpressionNamedAwaitIsError.ts (1 errors) ==== - const f12 = async function * () { - const x = function await() { - ~~~~~ -!!! error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. - }; - }; -==== yieldIsOk.ts (0 errors) ==== - const f13 = async function * () { - yield; - }; -==== yieldWithValueIsOk.ts (0 errors) ==== - const f14 = async function * () { - yield 1; - }; -==== yieldStarMissingValueIsError.ts (1 errors) ==== - const f15 = async function * () { - yield *; - ~ -!!! error TS1109: Expression expected. - }; -==== yieldStarWithValueIsOk.ts (0 errors) ==== - const f16 = async function * () { - yield * []; - }; -==== awaitWithValueIsOk.ts (0 errors) ==== - const f17 = async function * () { - await 1; - }; -==== awaitMissingValueIsError.ts (1 errors) ==== - const f18 = async function * () { - await; - ~ -!!! error TS1109: Expression expected. - }; -==== awaitAsTypeIsOk.ts (0 errors) ==== - interface await {} - const f19 = async function * () { - let x: await; - }; -==== yieldAsTypeIsOk.ts (0 errors) ==== - interface yield {} - const f20 = async function * () { - let x: yield; - }; -==== yieldInNestedComputedPropertyIsOk.ts (0 errors) ==== - const f21 = async function *() { - const x = { [yield]: 1 }; - }; - \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionExpressions.es2018(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionExpressions.es2018(alwaysstrict=false).symbols deleted file mode 100644 index 358adceb0fe..00000000000 --- a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionExpressions.es2018(alwaysstrict=false).symbols +++ /dev/null @@ -1,158 +0,0 @@ -//// [tests/cases/conformance/parser/ecmascript2018/asyncGenerators/parser.asyncGenerators.functionExpressions.es2018.ts] //// - -=== functionExpressionIsOk.ts === -const f1 = async function * f() { ->f1 : Symbol(f1, Decl(functionExpressionIsOk.ts, 0, 5)) ->f : Symbol(f, Decl(functionExpressionIsOk.ts, 0, 10)) - -}; -=== awaitNameIsError.ts === -const f2 = async function * await() { ->f2 : Symbol(f2, Decl(awaitNameIsError.ts, 0, 5)) ->await : Symbol(await, Decl(awaitNameIsError.ts, 0, 10)) - -}; -=== yieldNameIsError.ts === -const f3 = async function * yield() { ->f3 : Symbol(f3, Decl(yieldNameIsError.ts, 0, 5)) ->yield : Symbol(yield, Decl(yieldNameIsError.ts, 0, 10)) - -}; -=== awaitParameterIsError.ts === -const f4 = async function * (await) { ->f4 : Symbol(f4, Decl(awaitParameterIsError.ts, 0, 5)) ->await : Symbol(await, Decl(awaitParameterIsError.ts, 0, 29)) - -}; -=== yieldParameterIsError.ts === -const f5 = async function * (yield) { ->f5 : Symbol(f5, Decl(yieldParameterIsError.ts, 0, 5)) ->yield : Symbol(yield, Decl(yieldParameterIsError.ts, 0, 29)) - -}; -=== awaitInParameterInitializerIsError.ts === -const f6 = async function * (a = await 1) { ->f6 : Symbol(f6, Decl(awaitInParameterInitializerIsError.ts, 0, 5)) ->a : Symbol(a, Decl(awaitInParameterInitializerIsError.ts, 0, 29)) - -}; -=== yieldInParameterInitializerIsError.ts === -const f7 = async function * (a = yield) { ->f7 : Symbol(f7, Decl(yieldInParameterInitializerIsError.ts, 0, 5)) ->a : Symbol(a, Decl(yieldInParameterInitializerIsError.ts, 0, 29)) - -}; -=== nestedAsyncGeneratorIsOk.ts === -const f8 = async function * () { ->f8 : Symbol(f8, Decl(nestedAsyncGeneratorIsOk.ts, 0, 5)) - - async function * g() { ->g : Symbol(g, Decl(nestedAsyncGeneratorIsOk.ts, 0, 32)) - } -}; -=== nestedFunctionDeclarationNamedYieldIsError.ts === -const f9 = async function * () { ->f9 : Symbol(f9, Decl(nestedFunctionDeclarationNamedYieldIsError.ts, 0, 5)) - - function yield() { ->yield : Symbol(yield, Decl(nestedFunctionDeclarationNamedYieldIsError.ts, 0, 32)) - } -}; -=== nestedFunctionExpressionNamedYieldIsError.ts === -const f10 = async function * () { ->f10 : Symbol(f10, Decl(nestedFunctionExpressionNamedYieldIsError.ts, 0, 5)) - - const x = function yield() { ->x : Symbol(x, Decl(nestedFunctionExpressionNamedYieldIsError.ts, 1, 9)) ->yield : Symbol(yield, Decl(nestedFunctionExpressionNamedYieldIsError.ts, 1, 13)) - - }; -}; -=== nestedFunctionDeclarationNamedAwaitIsError.ts === -const f11 = async function * () { ->f11 : Symbol(f11, Decl(nestedFunctionDeclarationNamedAwaitIsError.ts, 0, 5)) - - function await() { ->await : Symbol(await, Decl(nestedFunctionDeclarationNamedAwaitIsError.ts, 0, 33)) - } -}; -=== nestedFunctionExpressionNamedAwaitIsError.ts === -const f12 = async function * () { ->f12 : Symbol(f12, Decl(nestedFunctionExpressionNamedAwaitIsError.ts, 0, 5)) - - const x = function await() { ->x : Symbol(x, Decl(nestedFunctionExpressionNamedAwaitIsError.ts, 1, 9)) ->await : Symbol(await, Decl(nestedFunctionExpressionNamedAwaitIsError.ts, 1, 13)) - - }; -}; -=== yieldIsOk.ts === -const f13 = async function * () { ->f13 : Symbol(f13, Decl(yieldIsOk.ts, 0, 5)) - - yield; -}; -=== yieldWithValueIsOk.ts === -const f14 = async function * () { ->f14 : Symbol(f14, Decl(yieldWithValueIsOk.ts, 0, 5)) - - yield 1; -}; -=== yieldStarMissingValueIsError.ts === -const f15 = async function * () { ->f15 : Symbol(f15, Decl(yieldStarMissingValueIsError.ts, 0, 5)) - - yield *; -}; -=== yieldStarWithValueIsOk.ts === -const f16 = async function * () { ->f16 : Symbol(f16, Decl(yieldStarWithValueIsOk.ts, 0, 5)) - - yield * []; -}; -=== awaitWithValueIsOk.ts === -const f17 = async function * () { ->f17 : Symbol(f17, Decl(awaitWithValueIsOk.ts, 0, 5)) - - await 1; -}; -=== awaitMissingValueIsError.ts === -const f18 = async function * () { ->f18 : Symbol(f18, Decl(awaitMissingValueIsError.ts, 0, 5)) - - await; -}; -=== awaitAsTypeIsOk.ts === -interface await {} ->await : Symbol(await, Decl(awaitAsTypeIsOk.ts, 0, 0)) - -const f19 = async function * () { ->f19 : Symbol(f19, Decl(awaitAsTypeIsOk.ts, 1, 5)) - - let x: await; ->x : Symbol(x, Decl(awaitAsTypeIsOk.ts, 2, 7)) ->await : Symbol(await, Decl(awaitAsTypeIsOk.ts, 0, 0)) - -}; -=== yieldAsTypeIsOk.ts === -interface yield {} ->yield : Symbol(yield, Decl(yieldAsTypeIsOk.ts, 0, 0)) - -const f20 = async function * () { ->f20 : Symbol(f20, Decl(yieldAsTypeIsOk.ts, 1, 5)) - - let x: yield; ->x : Symbol(x, Decl(yieldAsTypeIsOk.ts, 2, 7)) ->yield : Symbol(yield, Decl(yieldAsTypeIsOk.ts, 0, 0)) - -}; -=== yieldInNestedComputedPropertyIsOk.ts === -const f21 = async function *() { ->f21 : Symbol(f21, Decl(yieldInNestedComputedPropertyIsOk.ts, 0, 5)) - - const x = { [yield]: 1 }; ->x : Symbol(x, Decl(yieldInNestedComputedPropertyIsOk.ts, 1, 9)) ->[yield] : Symbol([yield], Decl(yieldInNestedComputedPropertyIsOk.ts, 1, 15)) - -}; - diff --git a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionExpressions.es2018(alwaysstrict=false).types b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionExpressions.es2018(alwaysstrict=false).types deleted file mode 100644 index 5dc0ee960a8..00000000000 --- a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionExpressions.es2018(alwaysstrict=false).types +++ /dev/null @@ -1,198 +0,0 @@ -//// [tests/cases/conformance/parser/ecmascript2018/asyncGenerators/parser.asyncGenerators.functionExpressions.es2018.ts] //// - -=== functionExpressionIsOk.ts === -const f1 = async function * f() { ->f1 : () => AsyncGenerator ->async function * f() {} : () => AsyncGenerator ->f : () => AsyncGenerator - -}; -=== awaitNameIsError.ts === -const f2 = async function * await() { ->f2 : () => AsyncGenerator ->async function * await() {} : () => AsyncGenerator ->await : () => AsyncGenerator - -}; -=== yieldNameIsError.ts === -const f3 = async function * yield() { ->f3 : () => AsyncGenerator ->async function * yield() {} : () => AsyncGenerator ->yield : () => AsyncGenerator - -}; -=== awaitParameterIsError.ts === -const f4 = async function * (await) { ->f4 : (await: any) => AsyncGenerator ->async function * (await) {} : (await: any) => AsyncGenerator ->await : any - -}; -=== yieldParameterIsError.ts === -const f5 = async function * (yield) { ->f5 : (yield: any) => AsyncGenerator ->async function * (yield) {} : (yield: any) => AsyncGenerator ->yield : any - -}; -=== awaitInParameterInitializerIsError.ts === -const f6 = async function * (a = await 1) { ->f6 : (a?: number) => AsyncGenerator ->async function * (a = await 1) {} : (a?: number) => AsyncGenerator ->a : number ->await 1 : 1 ->1 : 1 - -}; -=== yieldInParameterInitializerIsError.ts === -const f7 = async function * (a = yield) { ->f7 : (a?: any) => AsyncGenerator ->async function * (a = yield) {} : (a?: any) => AsyncGenerator ->a : any ->yield : any - -}; -=== nestedAsyncGeneratorIsOk.ts === -const f8 = async function * () { ->f8 : () => AsyncGenerator ->async function * () { async function * g() { }} : () => AsyncGenerator - - async function * g() { ->g : () => AsyncGenerator - } -}; -=== nestedFunctionDeclarationNamedYieldIsError.ts === -const f9 = async function * () { ->f9 : () => AsyncGenerator ->async function * () { function yield() { }} : () => AsyncGenerator - - function yield() { ->yield : () => void - } -}; -=== nestedFunctionExpressionNamedYieldIsError.ts === -const f10 = async function * () { ->f10 : () => AsyncGenerator ->async function * () { const x = function yield() { };} : () => AsyncGenerator - - const x = function yield() { ->x : () => void ->function yield() { } : () => void ->yield : () => void - - }; -}; -=== nestedFunctionDeclarationNamedAwaitIsError.ts === -const f11 = async function * () { ->f11 : () => AsyncGenerator ->async function * () { function await() { }} : () => AsyncGenerator - - function await() { ->await : () => void - } -}; -=== nestedFunctionExpressionNamedAwaitIsError.ts === -const f12 = async function * () { ->f12 : () => AsyncGenerator ->async function * () { const x = function await() { };} : () => AsyncGenerator - - const x = function await() { ->x : () => void ->function await() { } : () => void ->await : () => void - - }; -}; -=== yieldIsOk.ts === -const f13 = async function * () { ->f13 : () => AsyncGenerator ->async function * () { yield;} : () => AsyncGenerator - - yield; ->yield : any - -}; -=== yieldWithValueIsOk.ts === -const f14 = async function * () { ->f14 : () => AsyncGenerator ->async function * () { yield 1;} : () => AsyncGenerator - - yield 1; ->yield 1 : any ->1 : 1 - -}; -=== yieldStarMissingValueIsError.ts === -const f15 = async function * () { ->f15 : () => AsyncGenerator ->async function * () { yield *;} : () => AsyncGenerator - - yield *; ->yield * : any -> : any - -}; -=== yieldStarWithValueIsOk.ts === -const f16 = async function * () { ->f16 : () => AsyncGenerator ->async function * () { yield * [];} : () => AsyncGenerator - - yield * []; ->yield * [] : any ->[] : undefined[] - -}; -=== awaitWithValueIsOk.ts === -const f17 = async function * () { ->f17 : () => AsyncGenerator ->async function * () { await 1;} : () => AsyncGenerator - - await 1; ->await 1 : 1 ->1 : 1 - -}; -=== awaitMissingValueIsError.ts === -const f18 = async function * () { ->f18 : () => AsyncGenerator ->async function * () { await;} : () => AsyncGenerator - - await; ->await : any -> : any - -}; -=== awaitAsTypeIsOk.ts === -interface await {} -const f19 = async function * () { ->f19 : () => AsyncGenerator ->async function * () { let x: await;} : () => AsyncGenerator - - let x: await; ->x : await - -}; -=== yieldAsTypeIsOk.ts === -interface yield {} -const f20 = async function * () { ->f20 : () => AsyncGenerator ->async function * () { let x: yield;} : () => AsyncGenerator - - let x: yield; ->x : yield - -}; -=== yieldInNestedComputedPropertyIsOk.ts === -const f21 = async function *() { ->f21 : () => AsyncGenerator ->async function *() { const x = { [yield]: 1 };} : () => AsyncGenerator - - const x = { [yield]: 1 }; ->x : { [x: number]: number; } ->{ [yield]: 1 } : { [x: number]: number; } ->[yield] : number ->yield : any ->1 : 1 - -}; - diff --git a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.objectLiteralMethods.es2018(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.objectLiteralMethods.es2018(alwaysstrict=false).errors.txt deleted file mode 100644 index ab637edec9c..00000000000 --- a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.objectLiteralMethods.es2018(alwaysstrict=false).errors.txt +++ /dev/null @@ -1,183 +0,0 @@ -asyncGeneratorGetAccessorIsError.ts(2,17): error TS1005: '(' expected. -asyncGeneratorPropertyIsError.ts(2,14): error TS1005: '(' expected. -asyncGeneratorSetAccessorIsError.ts(2,17): error TS1005: '(' expected. -awaitInParameterInitializerIsError.ts(2,19): error TS2524: 'await' expressions cannot be used in a parameter initializer. -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. -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. -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. -yieldStarMissingValueIsError.ts(3,16): error TS1109: Expression expected. - - -==== methodIsOk.ts (0 errors) ==== - const o1 = { - async * f() { - } - }; -==== awaitMethodNameIsOk.ts (0 errors) ==== - const o2 = { - async * await() { - } - }; -==== yieldMethodNameIsOk.ts (0 errors) ==== - const o3 = { - async * yield() { - } - }; -==== awaitParameterIsError.ts (1 errors) ==== - const o4 = { - async * f(await) { - ~~~~~ -!!! error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. - } - }; -==== yieldParameterIsError.ts (1 errors) ==== - const o5 = { - async * f(yield) { - ~~~~~ -!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. - } - }; -==== awaitInParameterInitializerIsError.ts (1 errors) ==== - const o6 = { - async * f(a = await 1) { - ~~~~~~~ -!!! error TS2524: 'await' expressions cannot be used in a parameter initializer. - } - }; -==== yieldInParameterInitializerIsError.ts (1 errors) ==== - const o7 = { - async * f(a = yield) { - ~~~~~ -!!! error TS2523: 'yield' expressions cannot be used in a parameter initializer. - } - }; -==== nestedAsyncGeneratorIsOk.ts (0 errors) ==== - const o8 = { - async * f() { - async function * g() { - } - } - }; -==== nestedFunctionDeclarationNamedYieldIsError.ts (1 errors) ==== - const o9 = { - async * f() { - function yield() { - ~~~~~ -!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. - } - } - }; -==== nestedFunctionExpressionNamedYieldIsError.ts (1 errors) ==== - const o10 = { - async * f() { - const x = function yield() { - ~~~~~ -!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. - }; - } - }; -==== nestedFunctionDeclarationNamedAwaitIsError.ts (1 errors) ==== - const o11 = { - async * f() { - function await() { - ~~~~~ -!!! error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. - } - } - }; -==== nestedFunctionExpressionNamedAwaitIsError.ts (1 errors) ==== - const o12 = { - async * f() { - const x = function await() { - ~~~~~ -!!! error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. - }; - } - }; -==== yieldIsOk.ts (0 errors) ==== - const o13 = { - async * f() { - yield; - } - }; -==== yieldWithValueIsOk.ts (0 errors) ==== - const o14 = { - async * f() { - yield 1; - } - }; -==== yieldStarMissingValueIsError.ts (1 errors) ==== - const o15 = { - async * f() { - yield *; - ~ -!!! error TS1109: Expression expected. - } - }; -==== yieldStarWithValueIsOk.ts (0 errors) ==== - const o16 = { - async * f() { - yield * []; - } - }; -==== awaitWithValueIsOk.ts (0 errors) ==== - const o17 = { - async * f() { - await 1; - } - }; -==== awaitMissingValueIsError.ts (1 errors) ==== - const o18 = { - async * f() { - await; - ~ -!!! error TS1109: Expression expected. - } - }; -==== awaitAsTypeIsOk.ts (0 errors) ==== - interface await {} - const o19 = { - async * f() { - let x: await; - } - }; -==== yieldAsTypeIsOk.ts (0 errors) ==== - interface yield {} - const o20 = { - async * f() { - let x: yield; - } - }; -==== yieldInNestedComputedPropertyIsOk.ts (0 errors) ==== - const o21 = { - async * f() { - const x = { [yield]: 1 }; - } - }; -==== asyncGeneratorGetAccessorIsError.ts (1 errors) ==== - const o22 = { - async * get x() { - ~ -!!! error TS1005: '(' expected. - return 1; - } - }; -==== asyncGeneratorSetAccessorIsError.ts (1 errors) ==== - const o23 = { - async * set x(value: number) { - ~ -!!! error TS1005: '(' expected. - } - }; -==== asyncGeneratorPropertyIsError.ts (1 errors) ==== - const o24 = { - async * x: 1; - ~ -!!! error TS1005: '(' expected. - }; - \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.objectLiteralMethods.es2018(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.objectLiteralMethods.es2018(alwaysstrict=false).symbols deleted file mode 100644 index f446450108c..00000000000 --- a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.objectLiteralMethods.es2018(alwaysstrict=false).symbols +++ /dev/null @@ -1,258 +0,0 @@ -//// [tests/cases/conformance/parser/ecmascript2018/asyncGenerators/parser.asyncGenerators.objectLiteralMethods.es2018.ts] //// - -=== methodIsOk.ts === -const o1 = { ->o1 : Symbol(o1, Decl(methodIsOk.ts, 0, 5)) - - async * f() { ->f : Symbol(f, Decl(methodIsOk.ts, 0, 12)) - } -}; -=== awaitMethodNameIsOk.ts === -const o2 = { ->o2 : Symbol(o2, Decl(awaitMethodNameIsOk.ts, 0, 5)) - - async * await() { ->await : Symbol(await, Decl(awaitMethodNameIsOk.ts, 0, 12)) - } -}; -=== yieldMethodNameIsOk.ts === -const o3 = { ->o3 : Symbol(o3, Decl(yieldMethodNameIsOk.ts, 0, 5)) - - async * yield() { ->yield : Symbol(yield, Decl(yieldMethodNameIsOk.ts, 0, 12)) - } -}; -=== awaitParameterIsError.ts === -const o4 = { ->o4 : Symbol(o4, Decl(awaitParameterIsError.ts, 0, 5)) - - async * f(await) { ->f : Symbol(f, Decl(awaitParameterIsError.ts, 0, 12)) ->await : Symbol(await, Decl(awaitParameterIsError.ts, 1, 14)) - } -}; -=== yieldParameterIsError.ts === -const o5 = { ->o5 : Symbol(o5, Decl(yieldParameterIsError.ts, 0, 5)) - - async * f(yield) { ->f : Symbol(f, Decl(yieldParameterIsError.ts, 0, 12)) ->yield : Symbol(yield, Decl(yieldParameterIsError.ts, 1, 14)) - } -}; -=== awaitInParameterInitializerIsError.ts === -const o6 = { ->o6 : Symbol(o6, Decl(awaitInParameterInitializerIsError.ts, 0, 5)) - - async * f(a = await 1) { ->f : Symbol(f, Decl(awaitInParameterInitializerIsError.ts, 0, 12)) ->a : Symbol(a, Decl(awaitInParameterInitializerIsError.ts, 1, 14)) - } -}; -=== yieldInParameterInitializerIsError.ts === -const o7 = { ->o7 : Symbol(o7, Decl(yieldInParameterInitializerIsError.ts, 0, 5)) - - async * f(a = yield) { ->f : Symbol(f, Decl(yieldInParameterInitializerIsError.ts, 0, 12)) ->a : Symbol(a, Decl(yieldInParameterInitializerIsError.ts, 1, 14)) - } -}; -=== nestedAsyncGeneratorIsOk.ts === -const o8 = { ->o8 : Symbol(o8, Decl(nestedAsyncGeneratorIsOk.ts, 0, 5)) - - async * f() { ->f : Symbol(f, Decl(nestedAsyncGeneratorIsOk.ts, 0, 12)) - - async function * g() { ->g : Symbol(g, Decl(nestedAsyncGeneratorIsOk.ts, 1, 17)) - } - } -}; -=== nestedFunctionDeclarationNamedYieldIsError.ts === -const o9 = { ->o9 : Symbol(o9, Decl(nestedFunctionDeclarationNamedYieldIsError.ts, 0, 5)) - - async * f() { ->f : Symbol(f, Decl(nestedFunctionDeclarationNamedYieldIsError.ts, 0, 12)) - - function yield() { ->yield : Symbol(yield, Decl(nestedFunctionDeclarationNamedYieldIsError.ts, 1, 17)) - } - } -}; -=== nestedFunctionExpressionNamedYieldIsError.ts === -const o10 = { ->o10 : Symbol(o10, Decl(nestedFunctionExpressionNamedYieldIsError.ts, 0, 5)) - - async * f() { ->f : Symbol(f, Decl(nestedFunctionExpressionNamedYieldIsError.ts, 0, 13)) - - const x = function yield() { ->x : Symbol(x, Decl(nestedFunctionExpressionNamedYieldIsError.ts, 2, 13)) ->yield : Symbol(yield, Decl(nestedFunctionExpressionNamedYieldIsError.ts, 2, 17)) - - }; - } -}; -=== nestedFunctionDeclarationNamedAwaitIsError.ts === -const o11 = { ->o11 : Symbol(o11, Decl(nestedFunctionDeclarationNamedAwaitIsError.ts, 0, 5)) - - async * f() { ->f : Symbol(f, Decl(nestedFunctionDeclarationNamedAwaitIsError.ts, 0, 13)) - - function await() { ->await : Symbol(await, Decl(nestedFunctionDeclarationNamedAwaitIsError.ts, 1, 17)) - } - } -}; -=== nestedFunctionExpressionNamedAwaitIsError.ts === -const o12 = { ->o12 : Symbol(o12, Decl(nestedFunctionExpressionNamedAwaitIsError.ts, 0, 5)) - - async * f() { ->f : Symbol(f, Decl(nestedFunctionExpressionNamedAwaitIsError.ts, 0, 13)) - - const x = function await() { ->x : Symbol(x, Decl(nestedFunctionExpressionNamedAwaitIsError.ts, 2, 13)) ->await : Symbol(await, Decl(nestedFunctionExpressionNamedAwaitIsError.ts, 2, 17)) - - }; - } -}; -=== yieldIsOk.ts === -const o13 = { ->o13 : Symbol(o13, Decl(yieldIsOk.ts, 0, 5)) - - async * f() { ->f : Symbol(f, Decl(yieldIsOk.ts, 0, 13)) - - yield; - } -}; -=== yieldWithValueIsOk.ts === -const o14 = { ->o14 : Symbol(o14, Decl(yieldWithValueIsOk.ts, 0, 5)) - - async * f() { ->f : Symbol(f, Decl(yieldWithValueIsOk.ts, 0, 13)) - - yield 1; - } -}; -=== yieldStarMissingValueIsError.ts === -const o15 = { ->o15 : Symbol(o15, Decl(yieldStarMissingValueIsError.ts, 0, 5)) - - async * f() { ->f : Symbol(f, Decl(yieldStarMissingValueIsError.ts, 0, 13)) - - yield *; - } -}; -=== yieldStarWithValueIsOk.ts === -const o16 = { ->o16 : Symbol(o16, Decl(yieldStarWithValueIsOk.ts, 0, 5)) - - async * f() { ->f : Symbol(f, Decl(yieldStarWithValueIsOk.ts, 0, 13)) - - yield * []; - } -}; -=== awaitWithValueIsOk.ts === -const o17 = { ->o17 : Symbol(o17, Decl(awaitWithValueIsOk.ts, 0, 5)) - - async * f() { ->f : Symbol(f, Decl(awaitWithValueIsOk.ts, 0, 13)) - - await 1; - } -}; -=== awaitMissingValueIsError.ts === -const o18 = { ->o18 : Symbol(o18, Decl(awaitMissingValueIsError.ts, 0, 5)) - - async * f() { ->f : Symbol(f, Decl(awaitMissingValueIsError.ts, 0, 13)) - - await; - } -}; -=== awaitAsTypeIsOk.ts === -interface await {} ->await : Symbol(await, Decl(awaitAsTypeIsOk.ts, 0, 0)) - -const o19 = { ->o19 : Symbol(o19, Decl(awaitAsTypeIsOk.ts, 1, 5)) - - async * f() { ->f : Symbol(f, Decl(awaitAsTypeIsOk.ts, 1, 13)) - - let x: await; ->x : Symbol(x, Decl(awaitAsTypeIsOk.ts, 3, 11)) ->await : Symbol(await, Decl(awaitAsTypeIsOk.ts, 0, 0)) - } -}; -=== yieldAsTypeIsOk.ts === -interface yield {} ->yield : Symbol(yield, Decl(yieldAsTypeIsOk.ts, 0, 0)) - -const o20 = { ->o20 : Symbol(o20, Decl(yieldAsTypeIsOk.ts, 1, 5)) - - async * f() { ->f : Symbol(f, Decl(yieldAsTypeIsOk.ts, 1, 13)) - - let x: yield; ->x : Symbol(x, Decl(yieldAsTypeIsOk.ts, 3, 11)) ->yield : Symbol(yield, Decl(yieldAsTypeIsOk.ts, 0, 0)) - } -}; -=== yieldInNestedComputedPropertyIsOk.ts === -const o21 = { ->o21 : Symbol(o21, Decl(yieldInNestedComputedPropertyIsOk.ts, 0, 5)) - - async * f() { ->f : Symbol(f, Decl(yieldInNestedComputedPropertyIsOk.ts, 0, 13)) - - const x = { [yield]: 1 }; ->x : Symbol(x, Decl(yieldInNestedComputedPropertyIsOk.ts, 2, 13)) ->[yield] : Symbol([yield], Decl(yieldInNestedComputedPropertyIsOk.ts, 2, 19)) - } -}; -=== asyncGeneratorGetAccessorIsError.ts === -const o22 = { ->o22 : Symbol(o22, Decl(asyncGeneratorGetAccessorIsError.ts, 0, 5)) - - async * get x() { ->get : Symbol(get, Decl(asyncGeneratorGetAccessorIsError.ts, 0, 13)) ->x : Symbol(x, Decl(asyncGeneratorGetAccessorIsError.ts, 1, 15)) - - return 1; - } -}; -=== asyncGeneratorSetAccessorIsError.ts === -const o23 = { ->o23 : Symbol(o23, Decl(asyncGeneratorSetAccessorIsError.ts, 0, 5)) - - async * set x(value: number) { ->set : Symbol(set, Decl(asyncGeneratorSetAccessorIsError.ts, 0, 13)) ->x : Symbol(x, Decl(asyncGeneratorSetAccessorIsError.ts, 1, 15)) ->value : Symbol(value, Decl(asyncGeneratorSetAccessorIsError.ts, 1, 18)) - } -}; -=== asyncGeneratorPropertyIsError.ts === -const o24 = { ->o24 : Symbol(o24, Decl(asyncGeneratorPropertyIsError.ts, 0, 5)) - - async * x: 1; ->x : Symbol(x, Decl(asyncGeneratorPropertyIsError.ts, 0, 13)) - -}; - diff --git a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.objectLiteralMethods.es2018(alwaysstrict=false).types b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.objectLiteralMethods.es2018(alwaysstrict=false).types deleted file mode 100644 index 3969d1d260b..00000000000 --- a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.objectLiteralMethods.es2018(alwaysstrict=false).types +++ /dev/null @@ -1,296 +0,0 @@ -//// [tests/cases/conformance/parser/ecmascript2018/asyncGenerators/parser.asyncGenerators.objectLiteralMethods.es2018.ts] //// - -=== methodIsOk.ts === -const o1 = { ->o1 : { f(): AsyncGenerator; } ->{ async * f() { }} : { f(): AsyncGenerator; } - - async * f() { ->f : () => AsyncGenerator - } -}; -=== awaitMethodNameIsOk.ts === -const o2 = { ->o2 : { await(): AsyncGenerator; } ->{ async * await() { }} : { await(): AsyncGenerator; } - - async * await() { ->await : () => AsyncGenerator - } -}; -=== yieldMethodNameIsOk.ts === -const o3 = { ->o3 : { yield(): AsyncGenerator; } ->{ async * yield() { }} : { yield(): AsyncGenerator; } - - async * yield() { ->yield : () => AsyncGenerator - } -}; -=== awaitParameterIsError.ts === -const o4 = { ->o4 : { f(await: any): AsyncGenerator; } ->{ async * f(await) { }} : { f(await: any): AsyncGenerator; } - - async * f(await) { ->f : (await: any) => AsyncGenerator ->await : any - } -}; -=== yieldParameterIsError.ts === -const o5 = { ->o5 : { f(yield: any): AsyncGenerator; } ->{ async * f(yield) { }} : { f(yield: any): AsyncGenerator; } - - async * f(yield) { ->f : (yield: any) => AsyncGenerator ->yield : any - } -}; -=== awaitInParameterInitializerIsError.ts === -const o6 = { ->o6 : { f(a?: number): AsyncGenerator; } ->{ async * f(a = await 1) { }} : { f(a?: number): AsyncGenerator; } - - async * f(a = await 1) { ->f : (a?: number) => AsyncGenerator ->a : number ->await 1 : 1 ->1 : 1 - } -}; -=== yieldInParameterInitializerIsError.ts === -const o7 = { ->o7 : { f(a?: any): AsyncGenerator; } ->{ async * f(a = yield) { }} : { f(a?: any): AsyncGenerator; } - - async * f(a = yield) { ->f : (a?: any) => AsyncGenerator ->a : any ->yield : any - } -}; -=== nestedAsyncGeneratorIsOk.ts === -const o8 = { ->o8 : { f(): AsyncGenerator; } ->{ async * f() { async function * g() { } }} : { f(): AsyncGenerator; } - - async * f() { ->f : () => AsyncGenerator - - async function * g() { ->g : () => AsyncGenerator - } - } -}; -=== nestedFunctionDeclarationNamedYieldIsError.ts === -const o9 = { ->o9 : { f(): AsyncGenerator; } ->{ async * f() { function yield() { } }} : { f(): AsyncGenerator; } - - async * f() { ->f : () => AsyncGenerator - - function yield() { ->yield : () => void - } - } -}; -=== nestedFunctionExpressionNamedYieldIsError.ts === -const o10 = { ->o10 : { f(): AsyncGenerator; } ->{ async * f() { const x = function yield() { }; }} : { f(): AsyncGenerator; } - - async * f() { ->f : () => AsyncGenerator - - const x = function yield() { ->x : () => void ->function yield() { } : () => void ->yield : () => void - - }; - } -}; -=== nestedFunctionDeclarationNamedAwaitIsError.ts === -const o11 = { ->o11 : { f(): AsyncGenerator; } ->{ async * f() { function await() { } }} : { f(): AsyncGenerator; } - - async * f() { ->f : () => AsyncGenerator - - function await() { ->await : () => void - } - } -}; -=== nestedFunctionExpressionNamedAwaitIsError.ts === -const o12 = { ->o12 : { f(): AsyncGenerator; } ->{ async * f() { const x = function await() { }; }} : { f(): AsyncGenerator; } - - async * f() { ->f : () => AsyncGenerator - - const x = function await() { ->x : () => void ->function await() { } : () => void ->await : () => void - - }; - } -}; -=== yieldIsOk.ts === -const o13 = { ->o13 : { f(): AsyncGenerator; } ->{ async * f() { yield; }} : { f(): AsyncGenerator; } - - async * f() { ->f : () => AsyncGenerator - - yield; ->yield : any - } -}; -=== yieldWithValueIsOk.ts === -const o14 = { ->o14 : { f(): AsyncGenerator; } ->{ async * f() { yield 1; }} : { f(): AsyncGenerator; } - - async * f() { ->f : () => AsyncGenerator - - yield 1; ->yield 1 : any ->1 : 1 - } -}; -=== yieldStarMissingValueIsError.ts === -const o15 = { ->o15 : { f(): AsyncGenerator; } ->{ async * f() { yield *; }} : { f(): AsyncGenerator; } - - async * f() { ->f : () => AsyncGenerator - - yield *; ->yield * : any -> : any - } -}; -=== yieldStarWithValueIsOk.ts === -const o16 = { ->o16 : { f(): AsyncGenerator; } ->{ async * f() { yield * []; }} : { f(): AsyncGenerator; } - - async * f() { ->f : () => AsyncGenerator - - yield * []; ->yield * [] : any ->[] : undefined[] - } -}; -=== awaitWithValueIsOk.ts === -const o17 = { ->o17 : { f(): AsyncGenerator; } ->{ async * f() { await 1; }} : { f(): AsyncGenerator; } - - async * f() { ->f : () => AsyncGenerator - - await 1; ->await 1 : 1 ->1 : 1 - } -}; -=== awaitMissingValueIsError.ts === -const o18 = { ->o18 : { f(): AsyncGenerator; } ->{ async * f() { await; }} : { f(): AsyncGenerator; } - - async * f() { ->f : () => AsyncGenerator - - await; ->await : any -> : any - } -}; -=== awaitAsTypeIsOk.ts === -interface await {} -const o19 = { ->o19 : { f(): AsyncGenerator; } ->{ async * f() { let x: await; }} : { f(): AsyncGenerator; } - - async * f() { ->f : () => AsyncGenerator - - let x: await; ->x : await - } -}; -=== yieldAsTypeIsOk.ts === -interface yield {} -const o20 = { ->o20 : { f(): AsyncGenerator; } ->{ async * f() { let x: yield; }} : { f(): AsyncGenerator; } - - async * f() { ->f : () => AsyncGenerator - - let x: yield; ->x : yield - } -}; -=== yieldInNestedComputedPropertyIsOk.ts === -const o21 = { ->o21 : { f(): AsyncGenerator; } ->{ async * f() { const x = { [yield]: 1 }; }} : { f(): AsyncGenerator; } - - async * f() { ->f : () => AsyncGenerator - - const x = { [yield]: 1 }; ->x : { [x: number]: number; } ->{ [yield]: 1 } : { [x: number]: number; } ->[yield] : number ->yield : any ->1 : 1 - } -}; -=== asyncGeneratorGetAccessorIsError.ts === -const o22 = { ->o22 : { get(): any; x(): number; } ->{ async * get x() { return 1; }} : { get(): any; x(): number; } - - async * get x() { ->get : () => any ->x : () => number - - return 1; ->1 : 1 - } -}; -=== asyncGeneratorSetAccessorIsError.ts === -const o23 = { ->o23 : { set(): any; x(value: number): void; } ->{ async * set x(value: number) { }} : { set(): any; x(value: number): void; } - - async * set x(value: number) { ->set : () => any ->x : (value: number) => void ->value : number - } -}; -=== asyncGeneratorPropertyIsError.ts === -const o24 = { ->o24 : { x(): 1; } ->{ async * x: 1;} : { x(): 1; } - - async * x: 1; ->x : () => 1 - -}; - diff --git a/testdata/baselines/reference/submodule/conformance/parserComputedPropertyName37.errors.txt b/testdata/baselines/reference/submodule/conformance/parserComputedPropertyName37.errors.txt index 8185dc214a3..71a324b073f 100644 --- a/testdata/baselines/reference/submodule/conformance/parserComputedPropertyName37.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/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/testdata/baselines/reference/submodule/conformance/parserComputedPropertyName37.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/parserComputedPropertyName37.errors.txt.diff deleted file mode 100644 index 492f4a604a2..00000000000 --- a/testdata/baselines/reference/submodule/conformance/parserComputedPropertyName37.errors.txt.diff +++ /dev/null @@ -1,16 +0,0 @@ ---- old.parserComputedPropertyName37.errors.txt -+++ new.parserComputedPropertyName37.errors.txt -@@= skipped -0, +0 lines =@@ --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 (2 errors) ==== -+==== parserComputedPropertyName37.ts (1 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/testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).errors.txt deleted file mode 100644 index 678d49a6ccf..00000000000 --- a/testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).errors.txt +++ /dev/null @@ -1,16 +0,0 @@ -parserStatementIsNotAMemberVariableDeclaration1.ts(1,1): error TS1108: A 'return' statement can only be used within a function body. - - -==== parserStatementIsNotAMemberVariableDeclaration1.ts (1 errors) ==== - return { - ~~~~~~ -!!! error TS1108: A 'return' statement can only be used within a function body. - - "set": function (key, value) { - - // 'private' should not be considered a member variable here. - private[key] = value; - - } - - }; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).errors.txt.diff deleted file mode 100644 index 489e0c9c7aa..00000000000 --- a/testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).errors.txt.diff +++ /dev/null @@ -1,13 +0,0 @@ ---- old.parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).errors.txt -+++ new.parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).errors.txt -@@= skipped -0, +0 lines =@@ --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! - parserStatementIsNotAMemberVariableDeclaration1.ts(1,1): error TS1108: A 'return' statement can only be used within a function body. - - --!!! 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! --!!! related TS-1: The excess diagnostics are: --!!! related TS2304 parserStatementIsNotAMemberVariableDeclaration1.ts:6:5: Cannot find name 'private'. - ==== parserStatementIsNotAMemberVariableDeclaration1.ts (1 errors) ==== - return { - ~~~~~~ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).js deleted file mode 100644 index 03e70305b7f..00000000000 --- a/testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).js +++ /dev/null @@ -1,21 +0,0 @@ -//// [tests/cases/conformance/parser/ecmascript5/ErrorRecovery/parserStatementIsNotAMemberVariableDeclaration1.ts] //// - -//// [parserStatementIsNotAMemberVariableDeclaration1.ts] -return { - - "set": function (key, value) { - - // 'private' should not be considered a member variable here. - private[key] = value; - - } - -}; - -//// [parserStatementIsNotAMemberVariableDeclaration1.js] -return { - "set": function (key, value) { - // 'private' should not be considered a member variable here. - private[key] = value; - } -}; diff --git a/testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).symbols deleted file mode 100644 index 1ab21d87dc7..00000000000 --- a/testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).symbols +++ /dev/null @@ -1,18 +0,0 @@ -//// [tests/cases/conformance/parser/ecmascript5/ErrorRecovery/parserStatementIsNotAMemberVariableDeclaration1.ts] //// - -=== parserStatementIsNotAMemberVariableDeclaration1.ts === -return { - - "set": function (key, value) { ->"set" : Symbol("set", Decl(parserStatementIsNotAMemberVariableDeclaration1.ts, 0, 8)) ->key : Symbol(key, Decl(parserStatementIsNotAMemberVariableDeclaration1.ts, 2, 19)) ->value : Symbol(value, Decl(parserStatementIsNotAMemberVariableDeclaration1.ts, 2, 23)) - - // 'private' should not be considered a member variable here. - private[key] = value; ->key : Symbol(key, Decl(parserStatementIsNotAMemberVariableDeclaration1.ts, 2, 19)) ->value : Symbol(value, Decl(parserStatementIsNotAMemberVariableDeclaration1.ts, 2, 23)) - - } - -}; diff --git a/testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).types b/testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).types deleted file mode 100644 index 7be1eb65d6c..00000000000 --- a/testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).types +++ /dev/null @@ -1,23 +0,0 @@ -//// [tests/cases/conformance/parser/ecmascript5/ErrorRecovery/parserStatementIsNotAMemberVariableDeclaration1.ts] //// - -=== parserStatementIsNotAMemberVariableDeclaration1.ts === -return { ->{ "set": function (key, value) { // 'private' should not be considered a member variable here. private[key] = value; }} : { set: (key: any, value: any) => void; } - - "set": function (key, value) { ->"set" : (key: any, value: any) => void ->function (key, value) { // 'private' should not be considered a member variable here. private[key] = value; } : (key: any, value: any) => void ->key : any ->value : any - - // 'private' should not be considered a member variable here. - private[key] = value; ->private[key] = value : any ->private[key] : any ->private : any ->key : any ->value : any - - } - -}; diff --git a/testdata/baselines/reference/submodule/conformance/parserStrictMode1.errors.txt b/testdata/baselines/reference/submodule/conformance/parserStrictMode1.errors.txt index 4942df4ee04..8dc2950d199 100644 --- a/testdata/baselines/reference/submodule/conformance/parserStrictMode1.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/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/testdata/baselines/reference/submodule/conformance/parserStrictMode1.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/parserStrictMode1.errors.txt.diff deleted file mode 100644 index 067b82ade05..00000000000 --- a/testdata/baselines/reference/submodule/conformance/parserStrictMode1.errors.txt.diff +++ /dev/null @@ -1,23 +0,0 @@ ---- old.parserStrictMode1.errors.txt -+++ new.parserStrictMode1.errors.txt -@@= skipped -0, +0 lines =@@ - 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 (5 errors) ==== -+==== parserStrictMode1.ts (4 errors) ==== - foo1(); - ~~~~ - !!! error TS2304: Cannot find name 'foo1'. -@@= skipped -15, +14 lines =@@ - ~~~~ - !!! 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/testdata/baselines/reference/submodule/conformance/parserStrictMode3-negative.errors.txt b/testdata/baselines/reference/submodule/conformance/parserStrictMode3-negative.errors.txt index dc71bb89316..e68ede85aa5 100644 --- a/testdata/baselines/reference/submodule/conformance/parserStrictMode3-negative.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/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/testdata/baselines/reference/submodule/conformance/parserStrictMode3-negative.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/parserStrictMode3-negative.errors.txt.diff deleted file mode 100644 index 94721f49d3f..00000000000 --- a/testdata/baselines/reference/submodule/conformance/parserStrictMode3-negative.errors.txt.diff +++ /dev/null @@ -1,14 +0,0 @@ ---- old.parserStrictMode3-negative.errors.txt -+++ new.parserStrictMode3-negative.errors.txt -@@= skipped -0, +0 lines =@@ --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 (2 errors) ==== -+==== parserStrictMode3-negative.ts (1 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/testdata/baselines/reference/submodule/conformance/parserStrictMode6-negative.errors.txt b/testdata/baselines/reference/submodule/conformance/parserStrictMode6-negative.errors.txt index 677972b4c1a..01816267102 100644 --- a/testdata/baselines/reference/submodule/conformance/parserStrictMode6-negative.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/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/testdata/baselines/reference/submodule/conformance/parserStrictMode6-negative.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/parserStrictMode6-negative.errors.txt.diff deleted file mode 100644 index 07d8acd79dd..00000000000 --- a/testdata/baselines/reference/submodule/conformance/parserStrictMode6-negative.errors.txt.diff +++ /dev/null @@ -1,14 +0,0 @@ ---- old.parserStrictMode6-negative.errors.txt -+++ new.parserStrictMode6-negative.errors.txt -@@= skipped -0, +0 lines =@@ --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 (2 errors) ==== -+==== parserStrictMode6-negative.ts (1 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/testdata/baselines/reference/submodule/conformance/parserWithStatement2.errors.txt b/testdata/baselines/reference/submodule/conformance/parserWithStatement2.errors.txt index f99a936c2fc..f0d3815b5aa 100644 --- a/testdata/baselines/reference/submodule/conformance/parserWithStatement2.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/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/testdata/baselines/reference/submodule/conformance/parserWithStatement2.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/parserWithStatement2.errors.txt.diff deleted file mode 100644 index 9042b36a122..00000000000 --- a/testdata/baselines/reference/submodule/conformance/parserWithStatement2.errors.txt.diff +++ /dev/null @@ -1,15 +0,0 @@ ---- old.parserWithStatement2.errors.txt -+++ new.parserWithStatement2.errors.txt -@@= skipped -0, +0 lines =@@ --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 (2 errors) ==== -+==== parserWithStatement2.ts (1 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/testdata/baselines/reference/submodule/conformance/withStatements.errors.txt b/testdata/baselines/reference/submodule/conformance/withStatements.errors.txt index 2a77a294e67..09473d5afed 100644 --- a/testdata/baselines/reference/submodule/conformance/withStatements.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/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' diff --git a/testdata/baselines/reference/submodule/conformance/withStatements.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/withStatements.errors.txt.diff deleted file mode 100644 index 809e62638d6..00000000000 --- a/testdata/baselines/reference/submodule/conformance/withStatements.errors.txt.diff +++ /dev/null @@ -1,16 +0,0 @@ ---- old.withStatements.errors.txt -+++ new.withStatements.errors.txt -@@= skipped -0, +0 lines =@@ --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 (2 errors) ==== -+==== withStatements.ts (1 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' \ No newline at end of file diff --git a/testdata/baselines/reference/tsbuild/emitDeclarationOnly/only-dts-output-in-circular-import-project-with-emitDeclarationOnly-and-declarationMap.js b/testdata/baselines/reference/tsbuild/emitDeclarationOnly/only-dts-output-in-circular-import-project-with-emitDeclarationOnly-and-declarationMap.js index ce09890b251..9f6525d885e 100644 --- a/testdata/baselines/reference/tsbuild/emitDeclarationOnly/only-dts-output-in-circular-import-project-with-emitDeclarationOnly-and-declarationMap.js +++ b/testdata/baselines/reference/tsbuild/emitDeclarationOnly/only-dts-output-in-circular-import-project-with-emitDeclarationOnly-and-declarationMap.js @@ -107,7 +107,7 @@ export { C } from "./c"; //// [/home/src/workspaces/project/lib/index.d.ts.map] *new* {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *new* -{"version":"FakeTSVersion","root":[[2,5]],"fileNames":["lib.d.ts","./src/c.ts","./src/b.ts","./src/a.ts","./src/index.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"e8d66a87a10151e3d8c84e04e3d962c9-import { A } from \"./a\";\n\nexport interface C {\n a: A;\n}","signature":"57c1fb7dd5816e999a47a54abfd60004-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedNodeFormat":1},{"version":"635cd13fa5127837a0f61aa9d436e764-import { C } from \"./c\";\n\nexport interface B {\n b: C;\n}","signature":"2c6af9ce6f102ba192048b07d4b44ebf-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedNodeFormat":1},{"version":"0c094e56b7619bf6cde26939daf7a796-import { B } from \"./b\";\n\nexport interface A {\n b: B;\n}","signature":"2904de9e1ae84b014654eae6ae9d57b8-import { B } from \"./b\";\nexport interface A {\n b: B;\n}\n","impliedNodeFormat":1},{"version":"9752277022f460184d673fd343fe2c3f-export { A } from \"./a\";\nexport { B } from \"./b\";\nexport { C } from \"./c\";","signature":"c689f6bb5a7ac5a812528f5b6ccb6872-export { A } from \"./a\";\nexport { B } from \"./b\";\nexport { C } from \"./c\";\n","impliedNodeFormat":1}],"fileIdsList":[[3],[2],[4],[2,3,4]],"options":{"alwaysStrict":true,"composite":true,"emitDeclarationOnly":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","strict":true,"sourceMap":true,"target":1},"referencedMap":[[4,1],[3,2],[2,3],[5,4]],"latestChangedDtsFile":"./lib/index.d.ts"} +{"version":"FakeTSVersion","root":[[2,5]],"fileNames":["lib.d.ts","./src/c.ts","./src/b.ts","./src/a.ts","./src/index.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"e8d66a87a10151e3d8c84e04e3d962c9-import { A } from \"./a\";\n\nexport interface C {\n a: A;\n}","signature":"57c1fb7dd5816e999a47a54abfd60004-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedNodeFormat":1},{"version":"635cd13fa5127837a0f61aa9d436e764-import { C } from \"./c\";\n\nexport interface B {\n b: C;\n}","signature":"2c6af9ce6f102ba192048b07d4b44ebf-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedNodeFormat":1},{"version":"0c094e56b7619bf6cde26939daf7a796-import { B } from \"./b\";\n\nexport interface A {\n b: B;\n}","signature":"2904de9e1ae84b014654eae6ae9d57b8-import { B } from \"./b\";\nexport interface A {\n b: B;\n}\n","impliedNodeFormat":1},{"version":"9752277022f460184d673fd343fe2c3f-export { A } from \"./a\";\nexport { B } from \"./b\";\nexport { C } from \"./c\";","signature":"c689f6bb5a7ac5a812528f5b6ccb6872-export { A } from \"./a\";\nexport { B } from \"./b\";\nexport { C } from \"./c\";\n","impliedNodeFormat":1}],"fileIdsList":[[3],[2],[4],[2,3,4]],"options":{"composite":true,"emitDeclarationOnly":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","strict":true,"sourceMap":true,"target":1,"alwaysStrict":true},"referencedMap":[[4,1],[3,2],[2,3],[5,4]],"latestChangedDtsFile":"./lib/index.d.ts"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *new* { "version": "FakeTSVersion", @@ -207,7 +207,6 @@ export { C } from "./c"; ] ], "options": { - "alwaysStrict": true, "composite": true, "emitDeclarationOnly": true, "declaration": true, @@ -218,7 +217,8 @@ export { C } from "./c"; "rootDir": "./src", "strict": true, "sourceMap": true, - "target": 1 + "target": 1, + "alwaysStrict": true }, "referencedMap": { "./src/a.ts": [ @@ -285,7 +285,7 @@ export interface A { //// [/home/src/workspaces/project/lib/c.d.ts.map] *rewrite with same content* //// [/home/src/workspaces/project/lib/index.d.ts.map] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,5]],"fileNames":["lib.d.ts","./src/c.ts","./src/b.ts","./src/a.ts","./src/index.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"e8d66a87a10151e3d8c84e04e3d962c9-import { A } from \"./a\";\n\nexport interface C {\n a: A;\n}","signature":"57c1fb7dd5816e999a47a54abfd60004-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedNodeFormat":1},{"version":"635cd13fa5127837a0f61aa9d436e764-import { C } from \"./c\";\n\nexport interface B {\n b: C;\n}","signature":"2c6af9ce6f102ba192048b07d4b44ebf-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedNodeFormat":1},{"version":"078c59719381373c2fc227a7b5ee0f0b-import { B } from \"./b\";\n\nexport interface A {\n b: B; foo: any;\n}","signature":"ddf8205c0552214926ecdcce4664e925-import { B } from \"./b\";\nexport interface A {\n b: B;\n foo: any;\n}\n","impliedNodeFormat":1},{"version":"9752277022f460184d673fd343fe2c3f-export { A } from \"./a\";\nexport { B } from \"./b\";\nexport { C } from \"./c\";","signature":"c689f6bb5a7ac5a812528f5b6ccb6872-export { A } from \"./a\";\nexport { B } from \"./b\";\nexport { C } from \"./c\";\n","impliedNodeFormat":1}],"fileIdsList":[[3],[2],[4],[2,3,4]],"options":{"alwaysStrict":true,"composite":true,"emitDeclarationOnly":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","strict":true,"sourceMap":true,"target":1},"referencedMap":[[4,1],[3,2],[2,3],[5,4]],"latestChangedDtsFile":"./lib/a.d.ts"} +{"version":"FakeTSVersion","root":[[2,5]],"fileNames":["lib.d.ts","./src/c.ts","./src/b.ts","./src/a.ts","./src/index.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"e8d66a87a10151e3d8c84e04e3d962c9-import { A } from \"./a\";\n\nexport interface C {\n a: A;\n}","signature":"57c1fb7dd5816e999a47a54abfd60004-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedNodeFormat":1},{"version":"635cd13fa5127837a0f61aa9d436e764-import { C } from \"./c\";\n\nexport interface B {\n b: C;\n}","signature":"2c6af9ce6f102ba192048b07d4b44ebf-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedNodeFormat":1},{"version":"078c59719381373c2fc227a7b5ee0f0b-import { B } from \"./b\";\n\nexport interface A {\n b: B; foo: any;\n}","signature":"ddf8205c0552214926ecdcce4664e925-import { B } from \"./b\";\nexport interface A {\n b: B;\n foo: any;\n}\n","impliedNodeFormat":1},{"version":"9752277022f460184d673fd343fe2c3f-export { A } from \"./a\";\nexport { B } from \"./b\";\nexport { C } from \"./c\";","signature":"c689f6bb5a7ac5a812528f5b6ccb6872-export { A } from \"./a\";\nexport { B } from \"./b\";\nexport { C } from \"./c\";\n","impliedNodeFormat":1}],"fileIdsList":[[3],[2],[4],[2,3,4]],"options":{"composite":true,"emitDeclarationOnly":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","strict":true,"sourceMap":true,"target":1,"alwaysStrict":true},"referencedMap":[[4,1],[3,2],[2,3],[5,4]],"latestChangedDtsFile":"./lib/a.d.ts"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -385,7 +385,6 @@ export interface A { ] ], "options": { - "alwaysStrict": true, "composite": true, "emitDeclarationOnly": true, "declaration": true, @@ -396,7 +395,8 @@ export interface A { "rootDir": "./src", "strict": true, "sourceMap": true, - "target": 1 + "target": 1, + "alwaysStrict": true }, "referencedMap": { "./src/a.ts": [ diff --git a/testdata/baselines/reference/tsbuild/emitDeclarationOnly/only-dts-output-in-circular-import-project-with-emitDeclarationOnly.js b/testdata/baselines/reference/tsbuild/emitDeclarationOnly/only-dts-output-in-circular-import-project-with-emitDeclarationOnly.js index 4ff576fa8a0..d50f124eaa6 100644 --- a/testdata/baselines/reference/tsbuild/emitDeclarationOnly/only-dts-output-in-circular-import-project-with-emitDeclarationOnly.js +++ b/testdata/baselines/reference/tsbuild/emitDeclarationOnly/only-dts-output-in-circular-import-project-with-emitDeclarationOnly.js @@ -99,7 +99,7 @@ export { B } from "./b"; export { C } from "./c"; //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *new* -{"version":"FakeTSVersion","root":[[2,5]],"fileNames":["lib.d.ts","./src/c.ts","./src/b.ts","./src/a.ts","./src/index.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"e8d66a87a10151e3d8c84e04e3d962c9-import { A } from \"./a\";\n\nexport interface C {\n a: A;\n}","signature":"57c1fb7dd5816e999a47a54abfd60004-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedNodeFormat":1},{"version":"635cd13fa5127837a0f61aa9d436e764-import { C } from \"./c\";\n\nexport interface B {\n b: C;\n}","signature":"2c6af9ce6f102ba192048b07d4b44ebf-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedNodeFormat":1},{"version":"0c094e56b7619bf6cde26939daf7a796-import { B } from \"./b\";\n\nexport interface A {\n b: B;\n}","signature":"2904de9e1ae84b014654eae6ae9d57b8-import { B } from \"./b\";\nexport interface A {\n b: B;\n}\n","impliedNodeFormat":1},{"version":"9752277022f460184d673fd343fe2c3f-export { A } from \"./a\";\nexport { B } from \"./b\";\nexport { C } from \"./c\";","signature":"c689f6bb5a7ac5a812528f5b6ccb6872-export { A } from \"./a\";\nexport { B } from \"./b\";\nexport { C } from \"./c\";\n","impliedNodeFormat":1}],"fileIdsList":[[3],[2],[4],[2,3,4]],"options":{"alwaysStrict":true,"composite":true,"emitDeclarationOnly":true,"declaration":true,"declarationMap":false,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","strict":true,"sourceMap":true,"target":1},"referencedMap":[[4,1],[3,2],[2,3],[5,4]],"latestChangedDtsFile":"./lib/index.d.ts"} +{"version":"FakeTSVersion","root":[[2,5]],"fileNames":["lib.d.ts","./src/c.ts","./src/b.ts","./src/a.ts","./src/index.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"e8d66a87a10151e3d8c84e04e3d962c9-import { A } from \"./a\";\n\nexport interface C {\n a: A;\n}","signature":"57c1fb7dd5816e999a47a54abfd60004-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedNodeFormat":1},{"version":"635cd13fa5127837a0f61aa9d436e764-import { C } from \"./c\";\n\nexport interface B {\n b: C;\n}","signature":"2c6af9ce6f102ba192048b07d4b44ebf-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedNodeFormat":1},{"version":"0c094e56b7619bf6cde26939daf7a796-import { B } from \"./b\";\n\nexport interface A {\n b: B;\n}","signature":"2904de9e1ae84b014654eae6ae9d57b8-import { B } from \"./b\";\nexport interface A {\n b: B;\n}\n","impliedNodeFormat":1},{"version":"9752277022f460184d673fd343fe2c3f-export { A } from \"./a\";\nexport { B } from \"./b\";\nexport { C } from \"./c\";","signature":"c689f6bb5a7ac5a812528f5b6ccb6872-export { A } from \"./a\";\nexport { B } from \"./b\";\nexport { C } from \"./c\";\n","impliedNodeFormat":1}],"fileIdsList":[[3],[2],[4],[2,3,4]],"options":{"composite":true,"emitDeclarationOnly":true,"declaration":true,"declarationMap":false,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","strict":true,"sourceMap":true,"target":1,"alwaysStrict":true},"referencedMap":[[4,1],[3,2],[2,3],[5,4]],"latestChangedDtsFile":"./lib/index.d.ts"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *new* { "version": "FakeTSVersion", @@ -199,7 +199,6 @@ export { C } from "./c"; ] ], "options": { - "alwaysStrict": true, "composite": true, "emitDeclarationOnly": true, "declaration": true, @@ -210,7 +209,8 @@ export { C } from "./c"; "rootDir": "./src", "strict": true, "sourceMap": true, - "target": 1 + "target": 1, + "alwaysStrict": true }, "referencedMap": { "./src/a.ts": [ @@ -272,7 +272,7 @@ export interface A { } //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,5]],"fileNames":["lib.d.ts","./src/c.ts","./src/b.ts","./src/a.ts","./src/index.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"e8d66a87a10151e3d8c84e04e3d962c9-import { A } from \"./a\";\n\nexport interface C {\n a: A;\n}","signature":"57c1fb7dd5816e999a47a54abfd60004-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedNodeFormat":1},{"version":"635cd13fa5127837a0f61aa9d436e764-import { C } from \"./c\";\n\nexport interface B {\n b: C;\n}","signature":"2c6af9ce6f102ba192048b07d4b44ebf-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedNodeFormat":1},{"version":"078c59719381373c2fc227a7b5ee0f0b-import { B } from \"./b\";\n\nexport interface A {\n b: B; foo: any;\n}","signature":"ddf8205c0552214926ecdcce4664e925-import { B } from \"./b\";\nexport interface A {\n b: B;\n foo: any;\n}\n","impliedNodeFormat":1},{"version":"9752277022f460184d673fd343fe2c3f-export { A } from \"./a\";\nexport { B } from \"./b\";\nexport { C } from \"./c\";","signature":"c689f6bb5a7ac5a812528f5b6ccb6872-export { A } from \"./a\";\nexport { B } from \"./b\";\nexport { C } from \"./c\";\n","impliedNodeFormat":1}],"fileIdsList":[[3],[2],[4],[2,3,4]],"options":{"alwaysStrict":true,"composite":true,"emitDeclarationOnly":true,"declaration":true,"declarationMap":false,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","strict":true,"sourceMap":true,"target":1},"referencedMap":[[4,1],[3,2],[2,3],[5,4]],"latestChangedDtsFile":"./lib/a.d.ts"} +{"version":"FakeTSVersion","root":[[2,5]],"fileNames":["lib.d.ts","./src/c.ts","./src/b.ts","./src/a.ts","./src/index.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"e8d66a87a10151e3d8c84e04e3d962c9-import { A } from \"./a\";\n\nexport interface C {\n a: A;\n}","signature":"57c1fb7dd5816e999a47a54abfd60004-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedNodeFormat":1},{"version":"635cd13fa5127837a0f61aa9d436e764-import { C } from \"./c\";\n\nexport interface B {\n b: C;\n}","signature":"2c6af9ce6f102ba192048b07d4b44ebf-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedNodeFormat":1},{"version":"078c59719381373c2fc227a7b5ee0f0b-import { B } from \"./b\";\n\nexport interface A {\n b: B; foo: any;\n}","signature":"ddf8205c0552214926ecdcce4664e925-import { B } from \"./b\";\nexport interface A {\n b: B;\n foo: any;\n}\n","impliedNodeFormat":1},{"version":"9752277022f460184d673fd343fe2c3f-export { A } from \"./a\";\nexport { B } from \"./b\";\nexport { C } from \"./c\";","signature":"c689f6bb5a7ac5a812528f5b6ccb6872-export { A } from \"./a\";\nexport { B } from \"./b\";\nexport { C } from \"./c\";\n","impliedNodeFormat":1}],"fileIdsList":[[3],[2],[4],[2,3,4]],"options":{"composite":true,"emitDeclarationOnly":true,"declaration":true,"declarationMap":false,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","strict":true,"sourceMap":true,"target":1,"alwaysStrict":true},"referencedMap":[[4,1],[3,2],[2,3],[5,4]],"latestChangedDtsFile":"./lib/a.d.ts"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -372,7 +372,6 @@ export interface A { ] ], "options": { - "alwaysStrict": true, "composite": true, "emitDeclarationOnly": true, "declaration": true, @@ -383,7 +382,8 @@ export interface A { "rootDir": "./src", "strict": true, "sourceMap": true, - "target": 1 + "target": 1, + "alwaysStrict": true }, "referencedMap": { "./src/a.ts": [ diff --git a/testdata/baselines/reference/tsbuild/emitDeclarationOnly/only-dts-output-in-non-circular-imports-project-with-emitDeclarationOnly.js b/testdata/baselines/reference/tsbuild/emitDeclarationOnly/only-dts-output-in-non-circular-imports-project-with-emitDeclarationOnly.js index 5e816fb977b..02cf110299e 100644 --- a/testdata/baselines/reference/tsbuild/emitDeclarationOnly/only-dts-output-in-non-circular-imports-project-with-emitDeclarationOnly.js +++ b/testdata/baselines/reference/tsbuild/emitDeclarationOnly/only-dts-output-in-non-circular-imports-project-with-emitDeclarationOnly.js @@ -98,7 +98,7 @@ export interface C { //// [/home/src/workspaces/project/lib/c.d.ts.map] *new* {"version":3,"file":"c.d.ts","sourceRoot":"","sources":["../src/c.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,WAAW,CAAC;IACd,CAAC,EAAE,CAAC,CAAC;CACR"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *new* -{"version":"FakeTSVersion","root":[[2,4]],"fileNames":["lib.d.ts","./src/a.ts","./src/c.ts","./src/b.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"665f99944701507453d40566cb1ae14c-export class B { prop = \"hello\"; }\n\nexport interface A {\n b: B;\n}","signature":"99c00a9e07d33f360f88c1625460e5f4-export declare class B {\n prop: string;\n}\nexport interface A {\n b: B;\n}\n","impliedNodeFormat":1},{"version":"e8d66a87a10151e3d8c84e04e3d962c9-import { A } from \"./a\";\n\nexport interface C {\n a: A;\n}","signature":"57c1fb7dd5816e999a47a54abfd60004-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedNodeFormat":1},{"version":"635cd13fa5127837a0f61aa9d436e764-import { C } from \"./c\";\n\nexport interface B {\n b: C;\n}","signature":"2c6af9ce6f102ba192048b07d4b44ebf-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"alwaysStrict":true,"composite":true,"emitDeclarationOnly":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","strict":true,"sourceMap":true,"target":1},"referencedMap":[[4,1],[3,2]],"latestChangedDtsFile":"./lib/b.d.ts"} +{"version":"FakeTSVersion","root":[[2,4]],"fileNames":["lib.d.ts","./src/a.ts","./src/c.ts","./src/b.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"665f99944701507453d40566cb1ae14c-export class B { prop = \"hello\"; }\n\nexport interface A {\n b: B;\n}","signature":"99c00a9e07d33f360f88c1625460e5f4-export declare class B {\n prop: string;\n}\nexport interface A {\n b: B;\n}\n","impliedNodeFormat":1},{"version":"e8d66a87a10151e3d8c84e04e3d962c9-import { A } from \"./a\";\n\nexport interface C {\n a: A;\n}","signature":"57c1fb7dd5816e999a47a54abfd60004-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedNodeFormat":1},{"version":"635cd13fa5127837a0f61aa9d436e764-import { C } from \"./c\";\n\nexport interface B {\n b: C;\n}","signature":"2c6af9ce6f102ba192048b07d4b44ebf-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true,"emitDeclarationOnly":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","strict":true,"sourceMap":true,"target":1,"alwaysStrict":true},"referencedMap":[[4,1],[3,2]],"latestChangedDtsFile":"./lib/b.d.ts"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *new* { "version": "FakeTSVersion", @@ -177,7 +177,6 @@ export interface C { ] ], "options": { - "alwaysStrict": true, "composite": true, "emitDeclarationOnly": true, "declaration": true, @@ -188,7 +187,8 @@ export interface C { "rootDir": "./src", "strict": true, "sourceMap": true, - "target": 1 + "target": 1, + "alwaysStrict": true }, "referencedMap": { "./src/b.ts": [ @@ -236,7 +236,7 @@ Output:: //// [/home/src/workspaces/project/lib/a.d.ts.map] *modified* {"version":3,"file":"a.d.ts","sourceRoot":"","sources":["../src/a.ts"],"names":[],"mappings":"AAAA,qBAAa,CAAC;IAAG,IAAI,SAAW;CAAE;AAGlC,MAAM,WAAW,CAAC;IACd,CAAC,EAAE,CAAC,CAAC;CACR"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,4]],"fileNames":["lib.d.ts","./src/a.ts","./src/c.ts","./src/b.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"d6b87c1d5c5dc8a828f29d0ccdf50a96-export class B { prop = \"hello\"; }\n\nclass C { }\nexport interface A {\n b: B;\n}","signature":"99c00a9e07d33f360f88c1625460e5f4-export declare class B {\n prop: string;\n}\nexport interface A {\n b: B;\n}\n","impliedNodeFormat":1},{"version":"e8d66a87a10151e3d8c84e04e3d962c9-import { A } from \"./a\";\n\nexport interface C {\n a: A;\n}","signature":"57c1fb7dd5816e999a47a54abfd60004-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedNodeFormat":1},{"version":"635cd13fa5127837a0f61aa9d436e764-import { C } from \"./c\";\n\nexport interface B {\n b: C;\n}","signature":"2c6af9ce6f102ba192048b07d4b44ebf-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"alwaysStrict":true,"composite":true,"emitDeclarationOnly":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","strict":true,"sourceMap":true,"target":1},"referencedMap":[[4,1],[3,2]],"latestChangedDtsFile":"./lib/b.d.ts"} +{"version":"FakeTSVersion","root":[[2,4]],"fileNames":["lib.d.ts","./src/a.ts","./src/c.ts","./src/b.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"d6b87c1d5c5dc8a828f29d0ccdf50a96-export class B { prop = \"hello\"; }\n\nclass C { }\nexport interface A {\n b: B;\n}","signature":"99c00a9e07d33f360f88c1625460e5f4-export declare class B {\n prop: string;\n}\nexport interface A {\n b: B;\n}\n","impliedNodeFormat":1},{"version":"e8d66a87a10151e3d8c84e04e3d962c9-import { A } from \"./a\";\n\nexport interface C {\n a: A;\n}","signature":"57c1fb7dd5816e999a47a54abfd60004-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedNodeFormat":1},{"version":"635cd13fa5127837a0f61aa9d436e764-import { C } from \"./c\";\n\nexport interface B {\n b: C;\n}","signature":"2c6af9ce6f102ba192048b07d4b44ebf-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true,"emitDeclarationOnly":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","strict":true,"sourceMap":true,"target":1,"alwaysStrict":true},"referencedMap":[[4,1],[3,2]],"latestChangedDtsFile":"./lib/b.d.ts"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -315,7 +315,6 @@ Output:: ] ], "options": { - "alwaysStrict": true, "composite": true, "emitDeclarationOnly": true, "declaration": true, @@ -326,7 +325,8 @@ Output:: "rootDir": "./src", "strict": true, "sourceMap": true, - "target": 1 + "target": 1, + "alwaysStrict": true }, "referencedMap": { "./src/b.ts": [ @@ -380,7 +380,7 @@ export interface A { //// [/home/src/workspaces/project/lib/b.d.ts.map] *rewrite with same content* //// [/home/src/workspaces/project/lib/c.d.ts.map] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,4]],"fileNames":["lib.d.ts","./src/a.ts","./src/c.ts","./src/b.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f2ea1f64003c617e4826031e7133d22d-export class B { prop = \"hello\"; }\n\nclass C { }\nexport interface A {\n b: B; foo: any;\n}","signature":"1bd611ec5b00f8f076ed030967bcfa3e-export declare class B {\n prop: string;\n}\nexport interface A {\n b: B;\n foo: any;\n}\n","impliedNodeFormat":1},{"version":"e8d66a87a10151e3d8c84e04e3d962c9-import { A } from \"./a\";\n\nexport interface C {\n a: A;\n}","signature":"57c1fb7dd5816e999a47a54abfd60004-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedNodeFormat":1},{"version":"635cd13fa5127837a0f61aa9d436e764-import { C } from \"./c\";\n\nexport interface B {\n b: C;\n}","signature":"2c6af9ce6f102ba192048b07d4b44ebf-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"alwaysStrict":true,"composite":true,"emitDeclarationOnly":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","strict":true,"sourceMap":true,"target":1},"referencedMap":[[4,1],[3,2]],"latestChangedDtsFile":"./lib/a.d.ts"} +{"version":"FakeTSVersion","root":[[2,4]],"fileNames":["lib.d.ts","./src/a.ts","./src/c.ts","./src/b.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f2ea1f64003c617e4826031e7133d22d-export class B { prop = \"hello\"; }\n\nclass C { }\nexport interface A {\n b: B; foo: any;\n}","signature":"1bd611ec5b00f8f076ed030967bcfa3e-export declare class B {\n prop: string;\n}\nexport interface A {\n b: B;\n foo: any;\n}\n","impliedNodeFormat":1},{"version":"e8d66a87a10151e3d8c84e04e3d962c9-import { A } from \"./a\";\n\nexport interface C {\n a: A;\n}","signature":"57c1fb7dd5816e999a47a54abfd60004-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedNodeFormat":1},{"version":"635cd13fa5127837a0f61aa9d436e764-import { C } from \"./c\";\n\nexport interface B {\n b: C;\n}","signature":"2c6af9ce6f102ba192048b07d4b44ebf-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true,"emitDeclarationOnly":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","strict":true,"sourceMap":true,"target":1,"alwaysStrict":true},"referencedMap":[[4,1],[3,2]],"latestChangedDtsFile":"./lib/a.d.ts"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -459,7 +459,6 @@ export interface A { ] ], "options": { - "alwaysStrict": true, "composite": true, "emitDeclarationOnly": true, "declaration": true, @@ -470,7 +469,8 @@ export interface A { "rootDir": "./src", "strict": true, "sourceMap": true, - "target": 1 + "target": 1, + "alwaysStrict": true }, "referencedMap": { "./src/b.ts": [ diff --git a/testdata/baselines/reference/tsbuild/noEmit/changes-composite.js b/testdata/baselines/reference/tsbuild/noEmit/changes-composite.js index 765c2d9609e..d8ace2a42d0 100644 --- a/testdata/baselines/reference/tsbuild/noEmit/changes-composite.js +++ b/testdata/baselines/reference/tsbuild/noEmit/changes-composite.js @@ -28,7 +28,7 @@ function someFunc(arguments: boolean, ...rest: any[]) { } tsgo -b -v -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json @@ -37,6 +37,14 @@ Output:: [HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/tslibs/TS/Lib/lib.es2025.full.d.ts] *Lib* /// interface Boolean {} @@ -112,7 +120,7 @@ function someFunc(arguments, ...rest) { } //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *new* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts"} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *new* { "version": "FakeTSVersion", @@ -245,8 +253,25 @@ function someFunc(arguments, ...rest) { "./src/indirectClass.ts" ] }, + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], "latestChangedDtsFile": "./src/noChangeFileWithEmitSpecificError.d.ts", - "size": 2602 + "size": 2764 } tsconfig.json:: @@ -270,27 +295,53 @@ Signatures:: Edit [0]:: No Change run with noEmit tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/noChangeFileWithEmitSpecificError.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 + + +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: + Edit [1]:: No Change run with noEmit tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/noChangeFileWithEmitSpecificError.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 + + +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: Edit [2]:: Introduce error but still noEmit @@ -305,7 +356,7 @@ Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output 'tsconfig.tsbuildinfo' is older than input 'src/class.ts' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. [HH:MM:SS AM] Building project 'tsconfig.json'... @@ -327,15 +378,21 @@ Output:: 2 prop1 = 1;    ~~~~~ +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] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]]],"affectedFilesPendingEmit":[2,[4],3,[5]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts","emitSignatures":[[2,"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n"],[4,"abe7d9981d6018efb6b2b794f40a1607-export {};\n"],[5,"abe7d9981d6018efb6b2b794f40a1607-export {};\n"]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"affectedFilesPendingEmit":[2,[4],3,[5]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts","emitSignatures":[[2,"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n"],[4,"abe7d9981d6018efb6b2b794f40a1607-export {};\n"],[5,"abe7d9981d6018efb6b2b794f40a1607-export {};\n"]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -518,6 +575,21 @@ Errors Files ] } ] + ], + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] ] ], "affectedFilesPendingEmit": [ @@ -573,7 +645,7 @@ Errors Files ] } ], - "size": 3310 + "size": 3441 } tsconfig.json:: @@ -596,7 +668,7 @@ export class classC { } tsgo -b -v -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json @@ -605,10 +677,18 @@ Output:: [HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/src/class.js] *rewrite with same content* //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts"} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -741,8 +821,25 @@ Output:: "./src/indirectClass.ts" ] }, + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], "latestChangedDtsFile": "./src/noChangeFileWithEmitSpecificError.d.ts", - "size": 2602 + "size": 2764 } tsconfig.json:: @@ -761,53 +858,105 @@ Signatures:: Edit [4]:: No Change run with emit tsgo -b -v -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/class.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 + + +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: + Edit [5]:: No Change run with noEmit tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/class.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. +[HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 + + +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: Edit [6]:: No Change run with noEmit tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/class.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 + + +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: + Edit [7]:: No Change run with emit tsgo -b -v -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/class.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 + + +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: Edit [8]:: Introduce error and emit @@ -822,7 +971,7 @@ Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output 'tsconfig.tsbuildinfo' is older than input 'src/class.ts' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. [HH:MM:SS AM] Building project 'tsconfig.json'... @@ -844,12 +993,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +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/src/class.d.ts] *modified* export declare class classC { @@ -863,7 +1018,7 @@ export class classC { //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]]],"latestChangedDtsFile":"./src/class.d.ts"} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"latestChangedDtsFile":"./src/class.d.ts"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -1056,10 +1211,25 @@ export class classC { ] } ] + ], + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] ] ], "latestChangedDtsFile": "./src/class.d.ts", - "size": 3213 + "size": 3344 } tsconfig.json:: @@ -1105,12 +1275,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +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 tsconfig.json:: @@ -1148,12 +1324,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +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 tsconfig.json:: @@ -1191,12 +1373,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +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 tsconfig.json:: @@ -1234,12 +1422,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +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 tsconfig.json:: @@ -1254,7 +1448,7 @@ export class classC { } tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json @@ -1263,8 +1457,16 @@ Output:: [HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"affectedFilesPendingEmit":[[2,17],[4,16],[3,17],[5,16]],"latestChangedDtsFile":"./src/class.d.ts","emitSignatures":[[2,"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n"],[4,"abe7d9981d6018efb6b2b794f40a1607-export {};\n"],[5,"abe7d9981d6018efb6b2b794f40a1607-export {};\n"]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"affectedFilesPendingEmit":[2,[4],3,[5]],"latestChangedDtsFile":"./src/class.d.ts","emitSignatures":[[2,"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n"],[4,"abe7d9981d6018efb6b2b794f40a1607-export {};\n"],[5,"abe7d9981d6018efb6b2b794f40a1607-export {};\n"]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -1387,37 +1589,46 @@ Output:: "./src/indirectClass.ts" ] }, - "affectedFilesPendingEmit": [ + "semanticDiagnosticsPerFile": [ [ - "./src/class.ts", - "Js|DtsEmit", + "./src/noChangeFileWithEmitSpecificError.ts", [ - 2, - 17 + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } ] + ] + ], + "affectedFilesPendingEmit": [ + [ + "./src/class.ts", + "Js|Dts", + 2 ], [ "./src/directUse.ts", - "DtsEmit", + "Dts", [ - 4, - 16 + 4 ] ], [ "./src/indirectClass.ts", - "Js|DtsEmit", - [ - 3, - 17 - ] + "Js|Dts", + 3 ], [ "./src/indirectUse.ts", - "DtsEmit", + "Dts", [ - 5, - 16 + 5 ] ] ], @@ -1448,7 +1659,7 @@ Output:: ] } ], - "size": 2660 + "size": 2806 } tsconfig.json:: @@ -1467,15 +1678,23 @@ Signatures:: Edit [14]:: No Change run with emit tsgo -b -v -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. [HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/src/class.d.ts] *modified* export declare class classC { prop: number; @@ -1488,7 +1707,7 @@ export class classC { //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"latestChangedDtsFile":"./src/class.d.ts"} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"latestChangedDtsFile":"./src/class.d.ts"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -1621,8 +1840,25 @@ export class classC { "./src/indirectClass.ts" ] }, + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], "latestChangedDtsFile": "./src/class.d.ts", - "size": 2574 + "size": 2736 } tsconfig.json:: @@ -1635,37 +1871,76 @@ Signatures:: Edit [15]:: No Change run with noEmit tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/class.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: + Edit [16]:: No Change run with noEmit tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/class.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. +[HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 + + +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: Edit [17]:: No Change run with emit tsgo -b -v -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/class.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 + + +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: diff --git a/testdata/baselines/reference/tsbuild/noEmit/changes-incremental-declaration.js b/testdata/baselines/reference/tsbuild/noEmit/changes-incremental-declaration.js index 771223527a7..762ffdc188f 100644 --- a/testdata/baselines/reference/tsbuild/noEmit/changes-incremental-declaration.js +++ b/testdata/baselines/reference/tsbuild/noEmit/changes-incremental-declaration.js @@ -28,7 +28,7 @@ function someFunc(arguments: boolean, ...rest: any[]) { } tsgo -b -v -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json @@ -37,6 +37,14 @@ Output:: [HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/tslibs/TS/Lib/lib.es2025.full.d.ts] *Lib* /// interface Boolean {} @@ -112,7 +120,7 @@ function someFunc(arguments, ...rest) { } //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *new* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *new* { "version": "FakeTSVersion", @@ -245,7 +253,24 @@ function someFunc(arguments, ...rest) { "./src/indirectClass.ts" ] }, - "size": 2534 + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], + "size": 2696 } tsconfig.json:: @@ -269,27 +294,53 @@ Signatures:: Edit [0]:: No Change run with noEmit tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/noChangeFileWithEmitSpecificError.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 + + +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: + Edit [1]:: No Change run with noEmit tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/noChangeFileWithEmitSpecificError.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 + + +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: Edit [2]:: Introduce error but still noEmit @@ -304,7 +355,7 @@ Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output 'tsconfig.tsbuildinfo' is older than input 'src/class.ts' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. [HH:MM:SS AM] Building project 'tsconfig.json'... @@ -326,15 +377,21 @@ Output:: 2 prop1 = 1;    ~~~~~ +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] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]]],"affectedFilesPendingEmit":[2,[4],3,[5]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"affectedFilesPendingEmit":[2,[4],3,[5]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -517,6 +574,21 @@ Errors Files ] } ] + ], + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] ] ], "affectedFilesPendingEmit": [ @@ -545,7 +617,7 @@ Errors Files ] ] ], - "size": 3026 + "size": 3157 } tsconfig.json:: @@ -568,7 +640,7 @@ export class classC { } tsgo -b -v -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json @@ -577,6 +649,14 @@ Output:: [HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/src/class.d.ts] *rewrite with same content* //// [/home/src/workspaces/project/src/class.js] *rewrite with same content* //// [/home/src/workspaces/project/src/directUse.d.ts] *rewrite with same content* @@ -584,7 +664,7 @@ Output:: //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/src/indirectUse.d.ts] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -717,7 +797,24 @@ Output:: "./src/indirectClass.ts" ] }, - "size": 2534 + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], + "size": 2696 } tsconfig.json:: @@ -736,53 +833,105 @@ Signatures:: Edit [4]:: No Change run with emit tsgo -b -v -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/class.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 + + +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: Edit [5]:: No Change run with noEmit tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/class.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 + + +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: Edit [6]:: No Change run with noEmit tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/class.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: Edit [7]:: No Change run with emit tsgo -b -v -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/class.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 + + +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: Edit [8]:: Introduce error and emit @@ -797,7 +946,7 @@ Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output 'tsconfig.tsbuildinfo' is older than input 'src/class.ts' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. [HH:MM:SS AM] Building project 'tsconfig.json'... @@ -819,12 +968,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +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/src/class.d.ts] *modified* export declare class classC { @@ -841,7 +996,7 @@ export class classC { //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/src/indirectUse.d.ts] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -1034,9 +1189,24 @@ export class classC { ] } ] + ], + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] ] ], - "size": 3173 + "size": 3304 } tsconfig.json:: @@ -1082,12 +1252,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +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 tsconfig.json:: @@ -1125,12 +1301,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +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 tsconfig.json:: @@ -1168,12 +1350,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +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 tsconfig.json:: @@ -1211,12 +1399,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +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 tsconfig.json:: @@ -1231,7 +1425,7 @@ export class classC { } tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json @@ -1240,8 +1434,16 @@ Output:: [HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"affectedFilesPendingEmit":[[2,17],[4,16],[3,17],[5,16]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"affectedFilesPendingEmit":[2,[4],3,[5]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -1364,41 +1566,50 @@ Output:: "./src/indirectClass.ts" ] }, - "affectedFilesPendingEmit": [ + "semanticDiagnosticsPerFile": [ [ - "./src/class.ts", - "Js|DtsEmit", + "./src/noChangeFileWithEmitSpecificError.ts", [ - 2, - 17 + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } ] + ] + ], + "affectedFilesPendingEmit": [ + [ + "./src/class.ts", + "Js|Dts", + 2 ], [ "./src/directUse.ts", - "DtsEmit", + "Dts", [ - 4, - 16 + 4 ] ], [ "./src/indirectClass.ts", - "Js|DtsEmit", - [ - 3, - 17 - ] + "Js|Dts", + 3 ], [ "./src/indirectUse.ts", - "DtsEmit", + "Dts", [ - 5, - 16 + 5 ] ] ], - "size": 2403 + "size": 2549 } tsconfig.json:: @@ -1417,15 +1628,23 @@ Signatures:: Edit [14]:: No Change run with emit tsgo -b -v -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. [HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/src/class.d.ts] *modified* export declare class classC { prop: number; @@ -1441,7 +1660,7 @@ export class classC { //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/src/indirectUse.d.ts] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -1574,7 +1793,24 @@ export class classC { "./src/indirectClass.ts" ] }, - "size": 2534 + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], + "size": 2696 } tsconfig.json:: @@ -1587,37 +1823,76 @@ Signatures:: Edit [15]:: No Change run with noEmit tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/class.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: + Edit [16]:: No Change run with noEmit tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/class.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. +[HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 + + +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: Edit [17]:: No Change run with emit tsgo -b -v -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/class.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 + + +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: diff --git a/testdata/baselines/reference/tsbuild/noEmit/changes-incremental.js b/testdata/baselines/reference/tsbuild/noEmit/changes-incremental.js index c1d83b61678..643753a068e 100644 --- a/testdata/baselines/reference/tsbuild/noEmit/changes-incremental.js +++ b/testdata/baselines/reference/tsbuild/noEmit/changes-incremental.js @@ -28,7 +28,7 @@ function someFunc(arguments: boolean, ...rest: any[]) { } tsgo -b -v -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json @@ -37,6 +37,14 @@ Output:: [HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/tslibs/TS/Lib/lib.es2025.full.d.ts] *Lib* /// interface Boolean {} @@ -89,7 +97,7 @@ function someFunc(arguments, ...rest) { } //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *new* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *new* { "version": "FakeTSVersion", @@ -193,7 +201,24 @@ function someFunc(arguments, ...rest) { "./src/indirectClass.ts" ] }, - "size": 1749 + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], + "size": 1911 } tsconfig.json:: @@ -211,28 +236,54 @@ Signatures:: Edit [0]:: No Change run with noEmit tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/noChangeFileWithEmitSpecificError.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 + + +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: Edit [1]:: No Change run with noEmit tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/noChangeFileWithEmitSpecificError.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: + Edit [2]:: Introduce error but still noEmit //// [/home/src/workspaces/project/src/class.ts] *modified* @@ -246,7 +297,7 @@ Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output 'tsconfig.tsbuildinfo' is older than input 'src/class.ts' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. [HH:MM:SS AM] Building project 'tsconfig.json'... @@ -268,15 +319,21 @@ Output:: 2 prop1 = 1;    ~~~~~ +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] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]]],"affectedFilesPendingEmit":[2,4,3,5]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"affectedFilesPendingEmit":[2,4,3,5]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -460,6 +517,21 @@ Errors Files ] } ] + ], + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] ] ], "affectedFilesPendingEmit": [ @@ -484,7 +556,7 @@ Errors Files 5 ] ], - "size": 2927 + "size": 3058 } tsconfig.json:: @@ -507,7 +579,7 @@ export class classC { } tsgo -b -v -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json @@ -516,12 +588,20 @@ Output:: [HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/src/class.js] *rewrite with same content* //// [/home/src/workspaces/project/src/directUse.js] *rewrite with same content* //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/src/indirectUse.js] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -635,7 +715,24 @@ Output:: "./src/indirectClass.ts" ] }, - "size": 2063 + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], + "size": 2225 } tsconfig.json:: @@ -654,53 +751,105 @@ Signatures:: Edit [4]:: No Change run with emit tsgo -b -v -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/class.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 + + +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: + Edit [5]:: No Change run with noEmit tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/class.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 + + +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: Edit [6]:: No Change run with noEmit tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/class.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: + Edit [7]:: No Change run with emit tsgo -b -v -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/class.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 + + +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: Edit [8]:: Introduce error and emit @@ -715,7 +864,7 @@ Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output 'tsconfig.tsbuildinfo' is older than input 'src/class.ts' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. [HH:MM:SS AM] Building project 'tsconfig.json'... @@ -737,12 +886,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +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 //// [/home/src/workspaces/project/src/class.js] *modified* export class classC { @@ -751,7 +906,7 @@ export class classC { //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -925,9 +1080,24 @@ export class classC { ] } ] + ], + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] ] ], - "size": 2702 + "size": 2833 } tsconfig.json:: @@ -973,12 +1143,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +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 tsconfig.json:: @@ -1016,12 +1192,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +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 tsconfig.json:: @@ -1059,12 +1241,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +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 tsconfig.json:: @@ -1102,12 +1290,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +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 tsconfig.json:: @@ -1122,7 +1316,7 @@ export class classC { } tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json @@ -1131,8 +1325,16 @@ Output:: [HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"affectedFilesPendingEmit":[2,3]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"affectedFilesPendingEmit":[2,3]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -1246,6 +1448,23 @@ Output:: "./src/indirectClass.ts" ] }, + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], "affectedFilesPendingEmit": [ [ "./src/class.ts", @@ -1258,7 +1477,7 @@ Output:: 3 ] ], - "size": 2096 + "size": 2258 } tsconfig.json:: @@ -1277,15 +1496,23 @@ Signatures:: Edit [14]:: No Change run with emit tsgo -b -v -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. [HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/src/class.js] *modified* export class classC { prop = 1; @@ -1293,7 +1520,7 @@ export class classC { //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -1407,7 +1634,24 @@ export class classC { "./src/indirectClass.ts" ] }, - "size": 2063 + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], + "size": 2225 } tsconfig.json:: @@ -1418,37 +1662,76 @@ Signatures:: Edit [15]:: No Change run with noEmit tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/class.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 + + +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: Edit [16]:: No Change run with noEmit tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/class.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: + Edit [17]:: No Change run with emit tsgo -b -v -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/class.ts' is older than output 'tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 + + +tsconfig.json:: +SemanticDiagnostics:: +Signatures:: diff --git a/testdata/baselines/reference/tsbuild/noEmit/changes-with-initial-noEmit-composite.js b/testdata/baselines/reference/tsbuild/noEmit/changes-with-initial-noEmit-composite.js index 5eb2078875e..b230abdbcb7 100644 --- a/testdata/baselines/reference/tsbuild/noEmit/changes-with-initial-noEmit-composite.js +++ b/testdata/baselines/reference/tsbuild/noEmit/changes-with-initial-noEmit-composite.js @@ -28,7 +28,7 @@ function someFunc(arguments: boolean, ...rest: any[]) { } tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json @@ -37,6 +37,14 @@ Output:: [HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/tslibs/TS/Lib/lib.es2025.full.d.ts] *Lib* /// interface Boolean {} @@ -61,7 +69,7 @@ interface Symbol { } declare const console: { log(msg: any): void; }; //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *new* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"affectedFilesPendingEmit":[[2,17],[4,17],[3,17],[5,17],[6,17],[7,17]],"emitSignatures":[2,3,4,5,6,7]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"affectedFilesPendingEmit":[2,4,3,5,6,7],"emitSignatures":[2,3,4,5,6,7]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *new* { "version": "FakeTSVersion", @@ -168,54 +176,53 @@ declare const console: { log(msg: any): void; }; "./src/indirectClass.ts" ] }, - "affectedFilesPendingEmit": [ + "semanticDiagnosticsPerFile": [ [ - "./src/class.ts", - "Js|DtsEmit", + "./src/noChangeFileWithEmitSpecificError.ts", [ - 2, - 17 + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } ] + ] + ], + "affectedFilesPendingEmit": [ + [ + "./src/class.ts", + "Js|Dts", + 2 ], [ "./src/directUse.ts", - "Js|DtsEmit", - [ - 4, - 17 - ] + "Js|Dts", + 4 ], [ "./src/indirectClass.ts", - "Js|DtsEmit", - [ - 3, - 17 - ] + "Js|Dts", + 3 ], [ "./src/indirectUse.ts", - "Js|DtsEmit", - [ - 5, - 17 - ] + "Js|Dts", + 5 ], [ "./src/noChangeFile.ts", - "Js|DtsEmit", - [ - 6, - 17 - ] + "Js|Dts", + 6 ], [ "./src/noChangeFileWithEmitSpecificError.ts", - "Js|DtsEmit", - [ - 7, - 17 - ] + "Js|Dts", + 7 ] ], "emitSignatures": [ @@ -244,7 +251,7 @@ declare const console: { log(msg: any): void; }; "original": 7 } ], - "size": 1880 + "size": 2012 } tsconfig.json:: @@ -262,15 +269,23 @@ Signatures:: Edit [0]:: No Change run with emit tsgo -b -v -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. [HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/src/class.d.ts] *new* export declare class classC { prop: number; @@ -323,7 +338,7 @@ function someFunc(arguments, ...rest) { } //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts"} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -456,8 +471,25 @@ function someFunc(arguments, ...rest) { "./src/indirectClass.ts" ] }, + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], "latestChangedDtsFile": "./src/noChangeFileWithEmitSpecificError.d.ts", - "size": 2602 + "size": 2764 } tsconfig.json:: @@ -483,7 +515,7 @@ Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output 'tsconfig.tsbuildinfo' is older than input 'src/class.ts' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. [HH:MM:SS AM] Building project 'tsconfig.json'... @@ -505,12 +537,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +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/src/class.d.ts] *modified* export declare class classC { @@ -524,7 +562,7 @@ export class classC { //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]]],"latestChangedDtsFile":"./src/class.d.ts"} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"latestChangedDtsFile":"./src/class.d.ts"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -717,10 +755,25 @@ export class classC { ] } ] + ], + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] ] ], "latestChangedDtsFile": "./src/class.d.ts", - "size": 3213 + "size": 3344 } tsconfig.json:: @@ -743,7 +796,7 @@ export class classC { } tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json @@ -752,8 +805,16 @@ Output:: [HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"affectedFilesPendingEmit":[[2,17],[4,16],[3,17],[5,16]],"latestChangedDtsFile":"./src/class.d.ts","emitSignatures":[[2,"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n"],[4,"abe7d9981d6018efb6b2b794f40a1607-export {};\n"],[5,"abe7d9981d6018efb6b2b794f40a1607-export {};\n"]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"affectedFilesPendingEmit":[2,[4],3,[5]],"latestChangedDtsFile":"./src/class.d.ts","emitSignatures":[[2,"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n"],[4,"abe7d9981d6018efb6b2b794f40a1607-export {};\n"],[5,"abe7d9981d6018efb6b2b794f40a1607-export {};\n"]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -876,37 +937,46 @@ Output:: "./src/indirectClass.ts" ] }, - "affectedFilesPendingEmit": [ + "semanticDiagnosticsPerFile": [ [ - "./src/class.ts", - "Js|DtsEmit", + "./src/noChangeFileWithEmitSpecificError.ts", [ - 2, - 17 + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } ] + ] + ], + "affectedFilesPendingEmit": [ + [ + "./src/class.ts", + "Js|Dts", + 2 ], [ "./src/directUse.ts", - "DtsEmit", + "Dts", [ - 4, - 16 + 4 ] ], [ "./src/indirectClass.ts", - "Js|DtsEmit", - [ - 3, - 17 - ] + "Js|Dts", + 3 ], [ "./src/indirectUse.ts", - "DtsEmit", + "Dts", [ - 5, - 16 + 5 ] ] ], @@ -937,7 +1007,7 @@ Output:: ] } ], - "size": 2660 + "size": 2806 } tsconfig.json:: @@ -956,15 +1026,23 @@ Signatures:: Edit [3]:: No Change run with emit tsgo -b -v -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. [HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/src/class.d.ts] *modified* export declare class classC { prop: number; @@ -977,7 +1055,7 @@ export class classC { //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"latestChangedDtsFile":"./src/class.d.ts"} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"latestChangedDtsFile":"./src/class.d.ts"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -1110,8 +1188,25 @@ export class classC { "./src/indirectClass.ts" ] }, + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], "latestChangedDtsFile": "./src/class.d.ts", - "size": 2574 + "size": 2736 } tsconfig.json:: diff --git a/testdata/baselines/reference/tsbuild/noEmit/changes-with-initial-noEmit-incremental-declaration.js b/testdata/baselines/reference/tsbuild/noEmit/changes-with-initial-noEmit-incremental-declaration.js index 074b8c562fe..ff89f3c17ef 100644 --- a/testdata/baselines/reference/tsbuild/noEmit/changes-with-initial-noEmit-incremental-declaration.js +++ b/testdata/baselines/reference/tsbuild/noEmit/changes-with-initial-noEmit-incremental-declaration.js @@ -28,7 +28,7 @@ function someFunc(arguments: boolean, ...rest: any[]) { } tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json @@ -37,6 +37,14 @@ Output:: [HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/tslibs/TS/Lib/lib.es2025.full.d.ts] *Lib* /// interface Boolean {} @@ -61,7 +69,7 @@ interface Symbol { } declare const console: { log(msg: any): void; }; //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *new* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"affectedFilesPendingEmit":[[2,17],[4,17],[3,17],[5,17],[6,17],[7,17]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"affectedFilesPendingEmit":[2,4,3,5,6,7]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *new* { "version": "FakeTSVersion", @@ -168,57 +176,56 @@ declare const console: { log(msg: any): void; }; "./src/indirectClass.ts" ] }, - "affectedFilesPendingEmit": [ + "semanticDiagnosticsPerFile": [ [ - "./src/class.ts", - "Js|DtsEmit", + "./src/noChangeFileWithEmitSpecificError.ts", [ - 2, - 17 + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } ] + ] + ], + "affectedFilesPendingEmit": [ + [ + "./src/class.ts", + "Js|Dts", + 2 ], [ "./src/directUse.ts", - "Js|DtsEmit", - [ - 4, - 17 - ] + "Js|Dts", + 4 ], [ "./src/indirectClass.ts", - "Js|DtsEmit", - [ - 3, - 17 - ] + "Js|Dts", + 3 ], [ "./src/indirectUse.ts", - "Js|DtsEmit", - [ - 5, - 17 - ] + "Js|Dts", + 5 ], [ "./src/noChangeFile.ts", - "Js|DtsEmit", - [ - 6, - 17 - ] + "Js|Dts", + 6 ], [ "./src/noChangeFileWithEmitSpecificError.ts", - "Js|DtsEmit", - [ - 7, - 17 - ] + "Js|Dts", + 7 ] ], - "size": 1851 + "size": 1983 } tsconfig.json:: @@ -236,15 +243,23 @@ Signatures:: Edit [0]:: No Change run with emit tsgo -b -v -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. [HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/src/class.d.ts] *new* export declare class classC { prop: number; @@ -297,7 +312,7 @@ function someFunc(arguments, ...rest) { } //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -430,7 +445,24 @@ function someFunc(arguments, ...rest) { "./src/indirectClass.ts" ] }, - "size": 2534 + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], + "size": 2696 } tsconfig.json:: @@ -456,7 +488,7 @@ Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output 'tsconfig.tsbuildinfo' is older than input 'src/class.ts' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. [HH:MM:SS AM] Building project 'tsconfig.json'... @@ -478,12 +510,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +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/src/class.d.ts] *modified* export declare class classC { @@ -500,7 +538,7 @@ export class classC { //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/src/indirectUse.d.ts] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -693,9 +731,24 @@ export class classC { ] } ] + ], + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] ] ], - "size": 3173 + "size": 3304 } tsconfig.json:: @@ -718,7 +771,7 @@ export class classC { } tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json @@ -727,8 +780,16 @@ Output:: [HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"affectedFilesPendingEmit":[[2,17],[4,16],[3,17],[5,16]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"affectedFilesPendingEmit":[2,[4],3,[5]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -851,41 +912,50 @@ Output:: "./src/indirectClass.ts" ] }, - "affectedFilesPendingEmit": [ + "semanticDiagnosticsPerFile": [ [ - "./src/class.ts", - "Js|DtsEmit", + "./src/noChangeFileWithEmitSpecificError.ts", [ - 2, - 17 + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } ] + ] + ], + "affectedFilesPendingEmit": [ + [ + "./src/class.ts", + "Js|Dts", + 2 ], [ "./src/directUse.ts", - "DtsEmit", + "Dts", [ - 4, - 16 + 4 ] ], [ "./src/indirectClass.ts", - "Js|DtsEmit", - [ - 3, - 17 - ] + "Js|Dts", + 3 ], [ "./src/indirectUse.ts", - "DtsEmit", + "Dts", [ - 5, - 16 + 5 ] ] ], - "size": 2403 + "size": 2549 } tsconfig.json:: @@ -904,15 +974,23 @@ Signatures:: Edit [3]:: No Change run with emit tsgo -b -v -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. [HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/src/class.d.ts] *modified* export declare class classC { prop: number; @@ -928,7 +1006,7 @@ export class classC { //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/src/indirectUse.d.ts] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -1061,7 +1139,24 @@ export class classC { "./src/indirectClass.ts" ] }, - "size": 2534 + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], + "size": 2696 } tsconfig.json:: diff --git a/testdata/baselines/reference/tsbuild/noEmit/changes-with-initial-noEmit-incremental.js b/testdata/baselines/reference/tsbuild/noEmit/changes-with-initial-noEmit-incremental.js index 4187483647f..084caff138e 100644 --- a/testdata/baselines/reference/tsbuild/noEmit/changes-with-initial-noEmit-incremental.js +++ b/testdata/baselines/reference/tsbuild/noEmit/changes-with-initial-noEmit-incremental.js @@ -28,7 +28,7 @@ function someFunc(arguments: boolean, ...rest: any[]) { } tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json @@ -37,6 +37,14 @@ Output:: [HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/tslibs/TS/Lib/lib.es2025.full.d.ts] *Lib* /// interface Boolean {} @@ -61,7 +69,7 @@ interface Symbol { } declare const console: { log(msg: any): void; }; //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *new* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"affectedFilesPendingEmit":[2,4,3,5,6,7]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"affectedFilesPendingEmit":[2,4,3,5,6,7]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *new* { "version": "FakeTSVersion", @@ -165,6 +173,23 @@ declare const console: { log(msg: any): void; }; "./src/indirectClass.ts" ] }, + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], "affectedFilesPendingEmit": [ [ "./src/class.ts", @@ -197,7 +222,7 @@ declare const console: { log(msg: any): void; }; 7 ] ], - "size": 1790 + "size": 1952 } tsconfig.json:: @@ -215,15 +240,23 @@ Signatures:: Edit [0]:: No Change run with emit tsgo -b -v -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. [HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/src/class.js] *new* export class classC { prop = 1; @@ -253,7 +286,7 @@ function someFunc(arguments, ...rest) { } //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -357,7 +390,24 @@ function someFunc(arguments, ...rest) { "./src/indirectClass.ts" ] }, - "size": 1749 + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], + "size": 1911 } tsconfig.json:: @@ -377,7 +427,7 @@ Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output 'tsconfig.tsbuildinfo' is older than input 'src/class.ts' +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. [HH:MM:SS AM] Building project 'tsconfig.json'... @@ -399,12 +449,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +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/src/class.js] *modified* export class classC { @@ -415,7 +471,7 @@ export class classC { //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/src/indirectUse.js] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -599,9 +655,24 @@ export class classC { ] } ] + ], + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] ] ], - "size": 2890 + "size": 3021 } tsconfig.json:: @@ -624,7 +695,7 @@ export class classC { } tsgo -b -v --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json @@ -633,8 +704,16 @@ Output:: [HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"affectedFilesPendingEmit":[2,3]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"affectedFilesPendingEmit":[2,3]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -748,6 +827,23 @@ Output:: "./src/indirectClass.ts" ] }, + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], "affectedFilesPendingEmit": [ [ "./src/class.ts", @@ -760,7 +856,7 @@ Output:: 3 ] ], - "size": 2096 + "size": 2258 } tsconfig.json:: @@ -779,15 +875,23 @@ Signatures:: Edit [3]:: No Change run with emit tsgo -b -v -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated Output:: [HH:MM:SS AM] Projects in this build: * tsconfig.json -[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'tsconfig.tsbuildinfo' indicates that program needs to report errors. [HH:MM:SS AM] Building 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 in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/src/class.js] *modified* export class classC { prop = 1; @@ -795,7 +899,7 @@ export class classC { //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -909,7 +1013,24 @@ export class classC { "./src/indirectClass.ts" ] }, - "size": 2063 + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], + "size": 2225 } tsconfig.json:: diff --git a/testdata/baselines/reference/tsc/noEmit/changes-composite.js b/testdata/baselines/reference/tsc/noEmit/changes-composite.js index 171d492eb9d..58d9945d006 100644 --- a/testdata/baselines/reference/tsc/noEmit/changes-composite.js +++ b/testdata/baselines/reference/tsc/noEmit/changes-composite.js @@ -28,8 +28,16 @@ function someFunc(arguments: boolean, ...rest: any[]) { } tsgo -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated 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/tslibs/TS/Lib/lib.es2025.full.d.ts] *Lib* /// interface Boolean {} @@ -105,7 +113,7 @@ function someFunc(arguments, ...rest) { } //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *new* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts"} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *new* { "version": "FakeTSVersion", @@ -238,8 +246,25 @@ function someFunc(arguments, ...rest) { "./src/indirectClass.ts" ] }, + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], "latestChangedDtsFile": "./src/noChangeFileWithEmitSpecificError.d.ts", - "size": 2602 + "size": 2764 } tsconfig.json:: @@ -263,8 +288,16 @@ Signatures:: Edit [0]:: No Change run with noEmit tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped 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 + tsconfig.json:: SemanticDiagnostics:: @@ -274,8 +307,16 @@ Signatures:: Edit [1]:: No Change run with noEmit tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped 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 + tsconfig.json:: SemanticDiagnostics:: @@ -309,15 +350,21 @@ Output:: 2 prop1 = 1;    ~~~~~ +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] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]]],"affectedFilesPendingEmit":[2,[4],3,[5]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts","emitSignatures":[[2,"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n"],[4,"abe7d9981d6018efb6b2b794f40a1607-export {};\n"],[5,"abe7d9981d6018efb6b2b794f40a1607-export {};\n"]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"affectedFilesPendingEmit":[2,[4],3,[5]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts","emitSignatures":[[2,"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n"],[4,"abe7d9981d6018efb6b2b794f40a1607-export {};\n"],[5,"abe7d9981d6018efb6b2b794f40a1607-export {};\n"]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -500,6 +547,21 @@ Errors Files ] } ] + ], + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] ] ], "affectedFilesPendingEmit": [ @@ -555,7 +617,7 @@ Errors Files ] } ], - "size": 3310 + "size": 3441 } tsconfig.json:: @@ -578,12 +640,20 @@ export class classC { } tsgo -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated 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/src/class.js] *rewrite with same content* //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts"} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -716,8 +786,25 @@ Output:: "./src/indirectClass.ts" ] }, + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], "latestChangedDtsFile": "./src/noChangeFileWithEmitSpecificError.d.ts", - "size": 2602 + "size": 2764 } tsconfig.json:: @@ -736,8 +823,16 @@ Signatures:: Edit [4]:: No Change run with emit tsgo -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated 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 + tsconfig.json:: SemanticDiagnostics:: @@ -747,8 +842,16 @@ Signatures:: Edit [5]:: No Change run with noEmit tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped 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 + tsconfig.json:: SemanticDiagnostics:: @@ -758,8 +861,16 @@ Signatures:: Edit [6]:: No Change run with noEmit tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped 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 + tsconfig.json:: SemanticDiagnostics:: @@ -769,8 +880,16 @@ Signatures:: Edit [7]:: No Change run with emit tsgo -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated 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 + tsconfig.json:: SemanticDiagnostics:: @@ -804,12 +923,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +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 //// [/home/src/workspaces/project/src/class.d.ts] *modified* export declare class classC { @@ -823,7 +948,7 @@ export class classC { //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]]],"latestChangedDtsFile":"./src/class.d.ts"} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"latestChangedDtsFile":"./src/class.d.ts"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -1016,10 +1141,25 @@ export class classC { ] } ] + ], + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] ] ], "latestChangedDtsFile": "./src/class.d.ts", - "size": 3213 + "size": 3344 } tsconfig.json:: @@ -1058,12 +1198,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +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 tsconfig.json:: @@ -1094,12 +1240,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +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 tsconfig.json:: @@ -1130,12 +1282,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +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 tsconfig.json:: @@ -1166,12 +1324,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +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 tsconfig.json:: @@ -1186,10 +1350,18 @@ export class classC { } tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped 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] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"affectedFilesPendingEmit":[[2,17],[4,16],[3,17],[5,16]],"latestChangedDtsFile":"./src/class.d.ts","emitSignatures":[[2,"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n"],[4,"abe7d9981d6018efb6b2b794f40a1607-export {};\n"],[5,"abe7d9981d6018efb6b2b794f40a1607-export {};\n"]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"affectedFilesPendingEmit":[2,[4],3,[5]],"latestChangedDtsFile":"./src/class.d.ts","emitSignatures":[[2,"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n"],[4,"abe7d9981d6018efb6b2b794f40a1607-export {};\n"],[5,"abe7d9981d6018efb6b2b794f40a1607-export {};\n"]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -1312,37 +1484,46 @@ Output:: "./src/indirectClass.ts" ] }, - "affectedFilesPendingEmit": [ + "semanticDiagnosticsPerFile": [ [ - "./src/class.ts", - "Js|DtsEmit", + "./src/noChangeFileWithEmitSpecificError.ts", [ - 2, - 17 + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } ] + ] + ], + "affectedFilesPendingEmit": [ + [ + "./src/class.ts", + "Js|Dts", + 2 ], [ "./src/directUse.ts", - "DtsEmit", + "Dts", [ - 4, - 16 + 4 ] ], [ "./src/indirectClass.ts", - "Js|DtsEmit", - [ - 3, - 17 - ] + "Js|Dts", + 3 ], [ "./src/indirectUse.ts", - "DtsEmit", + "Dts", [ - 5, - 16 + 5 ] ] ], @@ -1373,7 +1554,7 @@ Output:: ] } ], - "size": 2660 + "size": 2806 } tsconfig.json:: @@ -1392,8 +1573,16 @@ Signatures:: Edit [14]:: No Change run with emit tsgo -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated 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/src/class.d.ts] *modified* export declare class classC { prop: number; @@ -1406,7 +1595,7 @@ export class classC { //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"latestChangedDtsFile":"./src/class.d.ts"} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"latestChangedDtsFile":"./src/class.d.ts"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -1539,8 +1728,25 @@ export class classC { "./src/indirectClass.ts" ] }, + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], "latestChangedDtsFile": "./src/class.d.ts", - "size": 2574 + "size": 2736 } tsconfig.json:: @@ -1553,8 +1759,16 @@ Signatures:: Edit [15]:: No Change run with noEmit tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped 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 + tsconfig.json:: SemanticDiagnostics:: @@ -1564,8 +1778,16 @@ Signatures:: Edit [16]:: No Change run with noEmit tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped 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 + tsconfig.json:: SemanticDiagnostics:: @@ -1575,8 +1797,16 @@ Signatures:: Edit [17]:: No Change run with emit tsgo -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated 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 + tsconfig.json:: SemanticDiagnostics:: diff --git a/testdata/baselines/reference/tsc/noEmit/changes-incremental-declaration.js b/testdata/baselines/reference/tsc/noEmit/changes-incremental-declaration.js index 48145c72c5a..9dd018d87d5 100644 --- a/testdata/baselines/reference/tsc/noEmit/changes-incremental-declaration.js +++ b/testdata/baselines/reference/tsc/noEmit/changes-incremental-declaration.js @@ -28,8 +28,16 @@ function someFunc(arguments: boolean, ...rest: any[]) { } tsgo -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated 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/tslibs/TS/Lib/lib.es2025.full.d.ts] *Lib* /// interface Boolean {} @@ -105,7 +113,7 @@ function someFunc(arguments, ...rest) { } //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *new* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *new* { "version": "FakeTSVersion", @@ -238,7 +246,24 @@ function someFunc(arguments, ...rest) { "./src/indirectClass.ts" ] }, - "size": 2534 + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], + "size": 2696 } tsconfig.json:: @@ -262,8 +287,16 @@ Signatures:: Edit [0]:: No Change run with noEmit tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped 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 + tsconfig.json:: SemanticDiagnostics:: @@ -273,8 +306,16 @@ Signatures:: Edit [1]:: No Change run with noEmit tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped 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 + tsconfig.json:: SemanticDiagnostics:: @@ -308,15 +349,21 @@ Output:: 2 prop1 = 1;    ~~~~~ +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] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]]],"affectedFilesPendingEmit":[2,[4],3,[5]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"affectedFilesPendingEmit":[2,[4],3,[5]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -499,6 +546,21 @@ Errors Files ] } ] + ], + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] ] ], "affectedFilesPendingEmit": [ @@ -527,7 +589,7 @@ Errors Files ] ] ], - "size": 3026 + "size": 3157 } tsconfig.json:: @@ -550,8 +612,16 @@ export class classC { } tsgo -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated 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/src/class.d.ts] *rewrite with same content* //// [/home/src/workspaces/project/src/class.js] *rewrite with same content* //// [/home/src/workspaces/project/src/directUse.d.ts] *rewrite with same content* @@ -559,7 +629,7 @@ Output:: //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/src/indirectUse.d.ts] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -692,7 +762,24 @@ Output:: "./src/indirectClass.ts" ] }, - "size": 2534 + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], + "size": 2696 } tsconfig.json:: @@ -711,8 +798,16 @@ Signatures:: Edit [4]:: No Change run with emit tsgo -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated 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 + tsconfig.json:: SemanticDiagnostics:: @@ -722,8 +817,16 @@ Signatures:: Edit [5]:: No Change run with noEmit tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped 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 + tsconfig.json:: SemanticDiagnostics:: @@ -733,8 +836,16 @@ Signatures:: Edit [6]:: No Change run with noEmit tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped 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 + tsconfig.json:: SemanticDiagnostics:: @@ -744,8 +855,16 @@ Signatures:: Edit [7]:: No Change run with emit tsgo -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated 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 + tsconfig.json:: SemanticDiagnostics:: @@ -779,12 +898,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +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/src/class.d.ts] *modified* export declare class classC { @@ -801,7 +926,7 @@ export class classC { //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/src/indirectUse.d.ts] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -994,9 +1119,24 @@ export class classC { ] } ] + ], + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] ] ], - "size": 3173 + "size": 3304 } tsconfig.json:: @@ -1035,12 +1175,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +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 tsconfig.json:: @@ -1071,12 +1217,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +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 tsconfig.json:: @@ -1107,12 +1259,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +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 tsconfig.json:: @@ -1143,12 +1301,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +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 tsconfig.json:: @@ -1163,10 +1327,18 @@ export class classC { } tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped 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] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"affectedFilesPendingEmit":[[2,17],[4,16],[3,17],[5,16]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"affectedFilesPendingEmit":[2,[4],3,[5]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -1289,41 +1461,50 @@ Output:: "./src/indirectClass.ts" ] }, - "affectedFilesPendingEmit": [ + "semanticDiagnosticsPerFile": [ [ - "./src/class.ts", - "Js|DtsEmit", + "./src/noChangeFileWithEmitSpecificError.ts", [ - 2, - 17 + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } ] + ] + ], + "affectedFilesPendingEmit": [ + [ + "./src/class.ts", + "Js|Dts", + 2 ], [ "./src/directUse.ts", - "DtsEmit", + "Dts", [ - 4, - 16 + 4 ] ], [ "./src/indirectClass.ts", - "Js|DtsEmit", - [ - 3, - 17 - ] + "Js|Dts", + 3 ], [ "./src/indirectUse.ts", - "DtsEmit", + "Dts", [ - 5, - 16 + 5 ] ] ], - "size": 2403 + "size": 2549 } tsconfig.json:: @@ -1342,8 +1523,16 @@ Signatures:: Edit [14]:: No Change run with emit tsgo -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated 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/src/class.d.ts] *modified* export declare class classC { prop: number; @@ -1359,7 +1548,7 @@ export class classC { //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/src/indirectUse.d.ts] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -1492,7 +1681,24 @@ export class classC { "./src/indirectClass.ts" ] }, - "size": 2534 + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], + "size": 2696 } tsconfig.json:: @@ -1505,8 +1711,16 @@ Signatures:: Edit [15]:: No Change run with noEmit tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped 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 + tsconfig.json:: SemanticDiagnostics:: @@ -1516,8 +1730,16 @@ Signatures:: Edit [16]:: No Change run with noEmit tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped 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 + tsconfig.json:: SemanticDiagnostics:: @@ -1527,8 +1749,16 @@ Signatures:: Edit [17]:: No Change run with emit tsgo -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated 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 + tsconfig.json:: SemanticDiagnostics:: diff --git a/testdata/baselines/reference/tsc/noEmit/changes-incremental.js b/testdata/baselines/reference/tsc/noEmit/changes-incremental.js index 695f82dac79..2719f96c2f2 100644 --- a/testdata/baselines/reference/tsc/noEmit/changes-incremental.js +++ b/testdata/baselines/reference/tsc/noEmit/changes-incremental.js @@ -28,8 +28,16 @@ function someFunc(arguments: boolean, ...rest: any[]) { } tsgo -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated 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/tslibs/TS/Lib/lib.es2025.full.d.ts] *Lib* /// interface Boolean {} @@ -82,7 +90,7 @@ function someFunc(arguments, ...rest) { } //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *new* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *new* { "version": "FakeTSVersion", @@ -186,7 +194,24 @@ function someFunc(arguments, ...rest) { "./src/indirectClass.ts" ] }, - "size": 1749 + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], + "size": 1911 } tsconfig.json:: @@ -204,8 +229,16 @@ Signatures:: Edit [0]:: No Change run with noEmit tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped 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 + tsconfig.json:: SemanticDiagnostics:: @@ -215,8 +248,16 @@ Signatures:: Edit [1]:: No Change run with noEmit tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped 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 + tsconfig.json:: SemanticDiagnostics:: @@ -250,15 +291,21 @@ Output:: 2 prop1 = 1;    ~~~~~ +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] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]]],"affectedFilesPendingEmit":[2,4,3,5]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"affectedFilesPendingEmit":[2,4,3,5]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -442,6 +489,21 @@ Errors Files ] } ] + ], + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] ] ], "affectedFilesPendingEmit": [ @@ -466,7 +528,7 @@ Errors Files 5 ] ], - "size": 2927 + "size": 3058 } tsconfig.json:: @@ -489,14 +551,22 @@ export class classC { } tsgo -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated 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/src/class.js] *rewrite with same content* //// [/home/src/workspaces/project/src/directUse.js] *rewrite with same content* //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/src/indirectUse.js] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -610,7 +680,24 @@ Output:: "./src/indirectClass.ts" ] }, - "size": 2063 + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], + "size": 2225 } tsconfig.json:: @@ -629,8 +716,16 @@ Signatures:: Edit [4]:: No Change run with emit tsgo -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated 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 + tsconfig.json:: SemanticDiagnostics:: @@ -640,8 +735,16 @@ Signatures:: Edit [5]:: No Change run with noEmit tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped 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 + tsconfig.json:: SemanticDiagnostics:: @@ -651,8 +754,16 @@ Signatures:: Edit [6]:: No Change run with noEmit tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped 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 + tsconfig.json:: SemanticDiagnostics:: @@ -662,8 +773,16 @@ Signatures:: Edit [7]:: No Change run with emit tsgo -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated 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 + tsconfig.json:: SemanticDiagnostics:: @@ -697,12 +816,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +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/src/class.js] *modified* export class classC { @@ -711,7 +836,7 @@ export class classC { //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -885,9 +1010,24 @@ export class classC { ] } ] + ], + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] ] ], - "size": 2702 + "size": 2833 } tsconfig.json:: @@ -926,12 +1066,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +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 tsconfig.json:: @@ -962,12 +1108,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +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 tsconfig.json:: @@ -998,12 +1150,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +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 tsconfig.json:: @@ -1034,12 +1192,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +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 tsconfig.json:: @@ -1054,10 +1218,18 @@ export class classC { } tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped 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] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"affectedFilesPendingEmit":[2,3]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"affectedFilesPendingEmit":[2,3]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -1171,6 +1343,23 @@ Output:: "./src/indirectClass.ts" ] }, + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], "affectedFilesPendingEmit": [ [ "./src/class.ts", @@ -1183,7 +1372,7 @@ Output:: 3 ] ], - "size": 2096 + "size": 2258 } tsconfig.json:: @@ -1202,8 +1391,16 @@ Signatures:: Edit [14]:: No Change run with emit tsgo -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated 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/src/class.js] *modified* export class classC { prop = 1; @@ -1211,7 +1408,7 @@ export class classC { //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -1325,7 +1522,24 @@ export class classC { "./src/indirectClass.ts" ] }, - "size": 2063 + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], + "size": 2225 } tsconfig.json:: @@ -1336,8 +1550,16 @@ Signatures:: Edit [15]:: No Change run with noEmit tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped 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 + tsconfig.json:: SemanticDiagnostics:: @@ -1347,8 +1569,16 @@ Signatures:: Edit [16]:: No Change run with noEmit tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped 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 + tsconfig.json:: SemanticDiagnostics:: @@ -1358,8 +1588,16 @@ Signatures:: Edit [17]:: No Change run with emit tsgo -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated 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 + tsconfig.json:: SemanticDiagnostics:: diff --git a/testdata/baselines/reference/tsc/noEmit/changes-with-initial-noEmit-composite.js b/testdata/baselines/reference/tsc/noEmit/changes-with-initial-noEmit-composite.js index c12e1869fc7..fce7c073d9c 100644 --- a/testdata/baselines/reference/tsc/noEmit/changes-with-initial-noEmit-composite.js +++ b/testdata/baselines/reference/tsc/noEmit/changes-with-initial-noEmit-composite.js @@ -28,8 +28,16 @@ function someFunc(arguments: boolean, ...rest: any[]) { } tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped 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/tslibs/TS/Lib/lib.es2025.full.d.ts] *Lib* /// interface Boolean {} @@ -54,7 +62,7 @@ interface Symbol { } declare const console: { log(msg: any): void; }; //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *new* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"affectedFilesPendingEmit":[[2,17],[4,17],[3,17],[5,17],[6,17],[7,17]],"emitSignatures":[2,3,4,5,6,7]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"affectedFilesPendingEmit":[2,4,3,5,6,7],"emitSignatures":[2,3,4,5,6,7]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *new* { "version": "FakeTSVersion", @@ -161,54 +169,53 @@ declare const console: { log(msg: any): void; }; "./src/indirectClass.ts" ] }, - "affectedFilesPendingEmit": [ + "semanticDiagnosticsPerFile": [ [ - "./src/class.ts", - "Js|DtsEmit", + "./src/noChangeFileWithEmitSpecificError.ts", [ - 2, - 17 + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } ] + ] + ], + "affectedFilesPendingEmit": [ + [ + "./src/class.ts", + "Js|Dts", + 2 ], [ "./src/directUse.ts", - "Js|DtsEmit", - [ - 4, - 17 - ] + "Js|Dts", + 4 ], [ "./src/indirectClass.ts", - "Js|DtsEmit", - [ - 3, - 17 - ] + "Js|Dts", + 3 ], [ "./src/indirectUse.ts", - "Js|DtsEmit", - [ - 5, - 17 - ] + "Js|Dts", + 5 ], [ "./src/noChangeFile.ts", - "Js|DtsEmit", - [ - 6, - 17 - ] + "Js|Dts", + 6 ], [ "./src/noChangeFileWithEmitSpecificError.ts", - "Js|DtsEmit", - [ - 7, - 17 - ] + "Js|Dts", + 7 ] ], "emitSignatures": [ @@ -237,7 +244,7 @@ declare const console: { log(msg: any): void; }; "original": 7 } ], - "size": 1880 + "size": 2012 } tsconfig.json:: @@ -255,8 +262,16 @@ Signatures:: Edit [0]:: No Change run with emit tsgo -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated 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/src/class.d.ts] *new* export declare class classC { prop: number; @@ -309,7 +324,7 @@ function someFunc(arguments, ...rest) { } //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts"} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -442,8 +457,25 @@ function someFunc(arguments, ...rest) { "./src/indirectClass.ts" ] }, + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], "latestChangedDtsFile": "./src/noChangeFileWithEmitSpecificError.d.ts", - "size": 2602 + "size": 2764 } tsconfig.json:: @@ -484,12 +516,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +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/src/class.d.ts] *modified* export declare class classC { @@ -503,7 +541,7 @@ export class classC { //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]]],"latestChangedDtsFile":"./src/class.d.ts"} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"latestChangedDtsFile":"./src/class.d.ts"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -696,10 +734,25 @@ export class classC { ] } ] + ], + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] ] ], "latestChangedDtsFile": "./src/class.d.ts", - "size": 3213 + "size": 3344 } tsconfig.json:: @@ -722,10 +775,18 @@ export class classC { } tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped 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] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"affectedFilesPendingEmit":[[2,17],[4,16],[3,17],[5,16]],"latestChangedDtsFile":"./src/class.d.ts","emitSignatures":[[2,"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n"],[4,"abe7d9981d6018efb6b2b794f40a1607-export {};\n"],[5,"abe7d9981d6018efb6b2b794f40a1607-export {};\n"]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"affectedFilesPendingEmit":[2,[4],3,[5]],"latestChangedDtsFile":"./src/class.d.ts","emitSignatures":[[2,"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n"],[4,"abe7d9981d6018efb6b2b794f40a1607-export {};\n"],[5,"abe7d9981d6018efb6b2b794f40a1607-export {};\n"]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -848,37 +909,46 @@ Output:: "./src/indirectClass.ts" ] }, - "affectedFilesPendingEmit": [ + "semanticDiagnosticsPerFile": [ [ - "./src/class.ts", - "Js|DtsEmit", + "./src/noChangeFileWithEmitSpecificError.ts", [ - 2, - 17 + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } ] + ] + ], + "affectedFilesPendingEmit": [ + [ + "./src/class.ts", + "Js|Dts", + 2 ], [ "./src/directUse.ts", - "DtsEmit", + "Dts", [ - 4, - 16 + 4 ] ], [ "./src/indirectClass.ts", - "Js|DtsEmit", - [ - 3, - 17 - ] + "Js|Dts", + 3 ], [ "./src/indirectUse.ts", - "DtsEmit", + "Dts", [ - 5, - 16 + 5 ] ] ], @@ -909,7 +979,7 @@ Output:: ] } ], - "size": 2660 + "size": 2806 } tsconfig.json:: @@ -928,8 +998,16 @@ Signatures:: Edit [3]:: No Change run with emit tsgo -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated 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/src/class.d.ts] *modified* export declare class classC { prop: number; @@ -942,7 +1020,7 @@ export class classC { //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"latestChangedDtsFile":"./src/class.d.ts"} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"latestChangedDtsFile":"./src/class.d.ts"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -1075,8 +1153,25 @@ export class classC { "./src/indirectClass.ts" ] }, + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], "latestChangedDtsFile": "./src/class.d.ts", - "size": 2574 + "size": 2736 } tsconfig.json:: diff --git a/testdata/baselines/reference/tsc/noEmit/changes-with-initial-noEmit-incremental-declaration.js b/testdata/baselines/reference/tsc/noEmit/changes-with-initial-noEmit-incremental-declaration.js index 760bdcc891c..4f0aac50ace 100644 --- a/testdata/baselines/reference/tsc/noEmit/changes-with-initial-noEmit-incremental-declaration.js +++ b/testdata/baselines/reference/tsc/noEmit/changes-with-initial-noEmit-incremental-declaration.js @@ -28,8 +28,16 @@ function someFunc(arguments: boolean, ...rest: any[]) { } tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped 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/tslibs/TS/Lib/lib.es2025.full.d.ts] *Lib* /// interface Boolean {} @@ -54,7 +62,7 @@ interface Symbol { } declare const console: { log(msg: any): void; }; //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *new* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"affectedFilesPendingEmit":[[2,17],[4,17],[3,17],[5,17],[6,17],[7,17]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"affectedFilesPendingEmit":[2,4,3,5,6,7]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *new* { "version": "FakeTSVersion", @@ -161,57 +169,56 @@ declare const console: { log(msg: any): void; }; "./src/indirectClass.ts" ] }, - "affectedFilesPendingEmit": [ + "semanticDiagnosticsPerFile": [ [ - "./src/class.ts", - "Js|DtsEmit", + "./src/noChangeFileWithEmitSpecificError.ts", [ - 2, - 17 + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } ] + ] + ], + "affectedFilesPendingEmit": [ + [ + "./src/class.ts", + "Js|Dts", + 2 ], [ "./src/directUse.ts", - "Js|DtsEmit", - [ - 4, - 17 - ] + "Js|Dts", + 4 ], [ "./src/indirectClass.ts", - "Js|DtsEmit", - [ - 3, - 17 - ] + "Js|Dts", + 3 ], [ "./src/indirectUse.ts", - "Js|DtsEmit", - [ - 5, - 17 - ] + "Js|Dts", + 5 ], [ "./src/noChangeFile.ts", - "Js|DtsEmit", - [ - 6, - 17 - ] + "Js|Dts", + 6 ], [ "./src/noChangeFileWithEmitSpecificError.ts", - "Js|DtsEmit", - [ - 7, - 17 - ] + "Js|Dts", + 7 ] ], - "size": 1851 + "size": 1983 } tsconfig.json:: @@ -229,8 +236,16 @@ Signatures:: Edit [0]:: No Change run with emit tsgo -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated 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/src/class.d.ts] *new* export declare class classC { prop: number; @@ -283,7 +298,7 @@ function someFunc(arguments, ...rest) { } //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -416,7 +431,24 @@ function someFunc(arguments, ...rest) { "./src/indirectClass.ts" ] }, - "size": 2534 + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], + "size": 2696 } tsconfig.json:: @@ -457,12 +489,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +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/src/class.d.ts] *modified* export declare class classC { @@ -479,7 +517,7 @@ export class classC { //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/src/indirectUse.d.ts] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -672,9 +710,24 @@ export class classC { ] } ] + ], + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] ] ], - "size": 3173 + "size": 3304 } tsconfig.json:: @@ -697,10 +750,18 @@ export class classC { } tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped 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] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"affectedFilesPendingEmit":[[2,17],[4,16],[3,17],[5,16]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"affectedFilesPendingEmit":[2,[4],3,[5]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -823,41 +884,50 @@ Output:: "./src/indirectClass.ts" ] }, - "affectedFilesPendingEmit": [ + "semanticDiagnosticsPerFile": [ [ - "./src/class.ts", - "Js|DtsEmit", + "./src/noChangeFileWithEmitSpecificError.ts", [ - 2, - 17 + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } ] + ] + ], + "affectedFilesPendingEmit": [ + [ + "./src/class.ts", + "Js|Dts", + 2 ], [ "./src/directUse.ts", - "DtsEmit", + "Dts", [ - 4, - 16 + 4 ] ], [ "./src/indirectClass.ts", - "Js|DtsEmit", - [ - 3, - 17 - ] + "Js|Dts", + 3 ], [ "./src/indirectUse.ts", - "DtsEmit", + "Dts", [ - 5, - 16 + 5 ] ] ], - "size": 2403 + "size": 2549 } tsconfig.json:: @@ -876,8 +946,16 @@ Signatures:: Edit [3]:: No Change run with emit tsgo -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated 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/src/class.d.ts] *modified* export declare class classC { prop: number; @@ -893,7 +971,7 @@ export class classC { //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/src/indirectUse.d.ts] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}","signature":"b46de008dd76697ce12a1dca20c0bf9e-export declare function writeLog(s: string): void;\n","impliedNodeFormat":1},{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"86b693f65e0d5bed7e4ac554c2edb8ba-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -1026,7 +1104,24 @@ export class classC { "./src/indirectClass.ts" ] }, - "size": 2534 + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], + "size": 2696 } tsconfig.json:: diff --git a/testdata/baselines/reference/tsc/noEmit/changes-with-initial-noEmit-incremental.js b/testdata/baselines/reference/tsc/noEmit/changes-with-initial-noEmit-incremental.js index 13c3bd37932..737ade219a6 100644 --- a/testdata/baselines/reference/tsc/noEmit/changes-with-initial-noEmit-incremental.js +++ b/testdata/baselines/reference/tsc/noEmit/changes-with-initial-noEmit-incremental.js @@ -28,8 +28,16 @@ function someFunc(arguments: boolean, ...rest: any[]) { } tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped 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/tslibs/TS/Lib/lib.es2025.full.d.ts] *Lib* /// interface Boolean {} @@ -54,7 +62,7 @@ interface Symbol { } declare const console: { log(msg: any): void; }; //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *new* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"affectedFilesPendingEmit":[2,4,3,5,6,7]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"affectedFilesPendingEmit":[2,4,3,5,6,7]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *new* { "version": "FakeTSVersion", @@ -158,6 +166,23 @@ declare const console: { log(msg: any): void; }; "./src/indirectClass.ts" ] }, + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], "affectedFilesPendingEmit": [ [ "./src/class.ts", @@ -190,7 +215,7 @@ declare const console: { log(msg: any): void; }; 7 ] ], - "size": 1790 + "size": 1952 } tsconfig.json:: @@ -208,8 +233,16 @@ Signatures:: Edit [0]:: No Change run with emit tsgo -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated 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/src/class.js] *new* export class classC { prop = 1; @@ -239,7 +272,7 @@ function someFunc(arguments, ...rest) { } //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -343,7 +376,24 @@ function someFunc(arguments, ...rest) { "./src/indirectClass.ts" ] }, - "size": 1749 + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], + "size": 1911 } tsconfig.json:: @@ -378,12 +428,18 @@ Output:: 2 prop1 = 1;    ~~~~~ +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/src/class.js] *modified* export class classC { @@ -394,7 +450,7 @@ export class classC { //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/src/indirectUse.js] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5da9f4ab128bbaf87adf83ca7ae8e2d-export class classC {\n prop1 = 1;\n}","signature":"e36cbd492db9c71062d723d518b6277f-export declare class classC {\n prop1: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},{"version":"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"abe7d9981d6018efb6b2b794f40a1607-export {};\n","impliedNodeFormat":1},"12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[5,[{"pos":76,"end":80,"code":2551,"category":1,"messageKey":"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","messageArgs":["prop","classC","prop1"],"relatedInformation":[{"file":2,"pos":26,"end":31,"code":2728,"category":3,"messageKey":"_0_is_declared_here_2728","messageArgs":["prop1"]}]}]],[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -578,9 +634,24 @@ export class classC { ] } ] + ], + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] ] ], - "size": 2890 + "size": 3021 } tsconfig.json:: @@ -603,10 +674,18 @@ export class classC { } tsgo --noEmit -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsSkipped 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] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"affectedFilesPendingEmit":[2,3]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]],"affectedFilesPendingEmit":[2,3]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -720,6 +799,23 @@ Output:: "./src/indirectClass.ts" ] }, + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], "affectedFilesPendingEmit": [ [ "./src/class.ts", @@ -732,7 +828,7 @@ Output:: 3 ] ], - "size": 2096 + "size": 2258 } tsconfig.json:: @@ -751,8 +847,16 @@ Signatures:: Edit [3]:: No Change run with emit tsgo -ExitStatus:: Success +ExitStatus:: DiagnosticsPresent_OutputsGenerated 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/src/class.js] *modified* export class classC { prop = 1; @@ -760,7 +864,7 @@ export class classC { //// [/home/src/workspaces/project/src/indirectClass.js] *rewrite with same content* //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] *modified* -{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]]} +{"version":"FakeTSVersion","root":[[2,7]],"fileNames":["lib.es2025.full.d.ts","./src/class.ts","./src/indirectClass.ts","./src/directUse.ts","./src/indirectUse.ts","./src/noChangeFile.ts","./src/noChangeFileWithEmitSpecificError.ts"],"fileInfos":[{"version":"8859c12c614ce56ba9a18e58384a198f-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ninterface SymbolConstructor {\n (desc?: string | number): symbol;\n for(name: string): symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5106d5119e9d454b0e9d7956b0f66ab8-export class classC {\n prop = 1;\n}","signature":"8743eb01f3ddad300611aa9bbf6b6c0a-export declare class classC {\n prop: number;\n}\n","impliedNodeFormat":1},{"version":"2d32895543847620d7c9848ddd3a7306-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"4c7e50f9604f4038b2f1bafae04987bb-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedNodeFormat":1},"1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","1e7a664a983b65ba5fbd926c9dad4a26-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","12f2d04905c254bde932222194cd2d1b-export function writeLog(s: string) {\n}",{"version":"f54e687ca7ac9fc3c2161967d09e9950-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedNodeFormat":1}],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"pos":18,"end":27,"code":1100,"category":1,"messageKey":"Invalid_use_of_0_in_strict_mode_1100","messageArgs":["arguments"]}]]]} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] *modified* { "version": "FakeTSVersion", @@ -874,7 +978,24 @@ export class classC { "./src/indirectClass.ts" ] }, - "size": 2063 + "semanticDiagnosticsPerFile": [ + [ + "./src/noChangeFileWithEmitSpecificError.ts", + [ + { + "pos": 18, + "end": 27, + "code": 1100, + "category": 1, + "messageKey": "Invalid_use_of_0_in_strict_mode_1100", + "messageArgs": [ + "arguments" + ] + } + ] + ] + ], + "size": 2225 } tsconfig.json:: From 0d9214ea129a48872f940da7ec202e78bb72e594 Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Thu, 12 Feb 2026 16:25:03 -0800 Subject: [PATCH 3/6] Force inStrictMode --- internal/binder/binder.go | 67 +++++-------------- .../parserWithStatement1.d.errors.txt | 5 +- .../parserWithStatement1.d.errors.txt.diff | 19 ++++++ 3 files changed, 39 insertions(+), 52 deletions(-) create mode 100644 testdata/baselines/reference/submodule/conformance/parserWithStatement1.d.errors.txt.diff diff --git a/internal/binder/binder.go b/internal/binder/binder.go index 6d134284329..45363795e30 100644 --- a/internal/binder/binder.go +++ b/internal/binder/binder.go @@ -70,7 +70,6 @@ type Binder struct { seenThisKeyword bool hasExplicitReturn bool hasFlowEffects bool - inStrictMode bool inAssignmentPattern bool seenParseError bool symbolCount int @@ -124,7 +123,6 @@ func bindSourceFile(file *ast.SourceFile) { b := getBinder() defer putBinder(b) b.file = file - b.inStrictMode = !file.IsDeclarationFile || ast.IsExternalModule(file) b.unreachableFlow = b.newFlowNode(ast.FlowFlagsUnreachable) b.bind(file.AsNode()) b.bindDeferredExpandoAssignments() @@ -586,7 +584,6 @@ func (b *Binder) bind(node *ast.Node) bool { if node == nil { return false } - saveInStrictMode := b.inStrictMode // Even though in the AST the jsdoc @typedef node belongs to the current node, // its symbol might be in the same scope with the current node's symbol. Consider: // @@ -688,7 +685,6 @@ func (b *Binder) bind(node *ast.Node) bool { case ast.KindFunctionExpression, ast.KindArrowFunction: b.bindFunctionExpression(node) case ast.KindClassExpression, ast.KindClassDeclaration: - b.inStrictMode = true b.bindClassLikeDeclaration(node) case ast.KindInterfaceDeclaration: b.bindBlockScopedDeclaration(node, ast.SymbolFlagsInterface, ast.SymbolFlagsInterfaceExcludes) @@ -719,14 +715,7 @@ func (b *Binder) bind(node *ast.Node) bool { case ast.KindExportAssignment, ast.KindJSExportAssignment: b.bindExportAssignment(node) case ast.KindSourceFile: - b.updateStrictModeStatementList(node.StatementList()) b.bindSourceFileIfExternalModule() - case ast.KindBlock: - if ast.IsFunctionLikeOrClassStaticBlockDeclaration(node.Parent) { - b.updateStrictModeStatementList(node.StatementList()) - } - case ast.KindModuleBlock: - b.updateStrictModeStatementList(node.StatementList()) case ast.KindJsxAttributes: b.bindJsxAttributes(node) case ast.KindJsxAttribute: @@ -756,7 +745,6 @@ func (b *Binder) bind(node *ast.Node) bool { node.Flags |= ast.NodeFlagsThisNodeOrAnySubNodesHasError b.seenParseError = true } - b.inStrictMode = saveInStrictMode return false } @@ -1147,9 +1135,7 @@ func (b *Binder) bindEnumDeclaration(node *ast.Node) { } func (b *Binder) bindVariableDeclarationOrBindingElement(node *ast.Node) { - if b.inStrictMode { - b.checkStrictModeEvalOrArguments(node, node.Name()) - } + b.checkStrictModeEvalOrArguments(node, node.Name()) if name := node.Name(); name != nil && !ast.IsBindingPattern(name) { switch { case ast.IsVariableDeclarationInitializedToRequire(node): @@ -1175,7 +1161,7 @@ func (b *Binder) bindVariableDeclarationOrBindingElement(node *ast.Node) { func (b *Binder) bindParameter(node *ast.Node) { decl := node.AsParameterDeclaration() - if b.inStrictMode && node.Flags&ast.NodeFlagsAmbient == 0 { + if node.Flags&ast.NodeFlagsAmbient == 0 { // It is a SyntaxError if the identifier eval or arguments appears within a FormalParameterList of a // strict mode FunctionLikeDeclaration or FunctionExpression(13.1) b.checkStrictModeEvalOrArguments(node, decl.Name()) @@ -1197,11 +1183,7 @@ func (b *Binder) bindParameter(node *ast.Node) { func (b *Binder) bindFunctionDeclaration(node *ast.Node) { b.checkStrictModeFunctionName(node) - if b.inStrictMode { - b.bindBlockScopedDeclaration(node, ast.SymbolFlagsFunction, ast.SymbolFlagsFunctionExcludes) - } else { - b.declareSymbolAndAddToSymbolTable(node, ast.SymbolFlagsFunction, ast.SymbolFlagsFunctionExcludes) - } + b.bindBlockScopedDeclaration(node, ast.SymbolFlagsFunction, ast.SymbolFlagsFunctionExcludes) } func (b *Binder) getInferTypeContainer(node *ast.Node) *ast.Node { @@ -1294,7 +1276,7 @@ func (b *Binder) checkContextualIdentifier(node *ast.Node) { if originalKeywordKind == ast.KindIdentifier { return } - if b.inStrictMode && originalKeywordKind >= ast.KindFirstFutureReservedWord && originalKeywordKind <= ast.KindLastFutureReservedWord { + if originalKeywordKind >= ast.KindFirstFutureReservedWord && originalKeywordKind <= ast.KindLastFutureReservedWord { b.errorOnNode(node, b.getStrictModeIdentifierMessage(node), scanner.DeclarationNameToString(node)) } else if originalKeywordKind == ast.KindAwaitKeyword { if ast.IsExternalModule(b.file) && ast.IsInTopLevelContext(node) { @@ -1329,15 +1311,6 @@ func (b *Binder) getStrictModeIdentifierMessage(node *ast.Node) *diagnostics.Mes return diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode } -func (b *Binder) updateStrictModeStatementList(statements *ast.NodeList) { - if !b.inStrictMode { - useStrictDirective := FindUseStrictPrologue(b.file, statements.Nodes) - if useStrictDirective != nil { - b.inStrictMode = true - } - } -} - // Should be called only on prologue directives (ast.IsPrologueDirective(node) should be true) func isUseStrictPrologueDirective(sourceFile *ast.SourceFile, node *ast.Node) bool { nodeText := scanner.GetSourceTextOfNodeFromSourceFile(sourceFile, node.Expression(), false /*includeTrivia*/) @@ -1361,7 +1334,7 @@ func FindUseStrictPrologue(sourceFile *ast.SourceFile, statements []*ast.Node) * } func (b *Binder) checkStrictModeFunctionName(node *ast.Node) { - if b.inStrictMode && node.Flags&ast.NodeFlagsAmbient == 0 { + if node.Flags&ast.NodeFlagsAmbient == 0 { // It is a SyntaxError if the identifier eval or arguments appears within a FormalParameterList of a strict mode FunctionDeclaration or FunctionExpression (13.1)) b.checkStrictModeEvalOrArguments(node, node.Name()) } @@ -1380,7 +1353,7 @@ func (b *Binder) getStrictModeBlockScopeFunctionDeclarationMessage(node *ast.Nod func (b *Binder) checkStrictModeBinaryExpression(node *ast.Node) { expr := node.AsBinaryExpression() - if b.inStrictMode && ast.IsLeftHandSideExpression(expr.Left) && ast.IsAssignmentOperator(expr.OperatorToken.Kind) { + if ast.IsLeftHandSideExpression(expr.Left) && ast.IsAssignmentOperator(expr.OperatorToken.Kind) { // ECMA 262 (Annex C) The identifier eval or arguments may not appear as the LeftHandSideExpression of an // Assignment operator(11.13) or of a PostfixExpression(11.3) b.checkStrictModeEvalOrArguments(node, expr.Left) @@ -1391,7 +1364,7 @@ func (b *Binder) checkStrictModeCatchClause(node *ast.Node) { // It is a SyntaxError if a TryStatement with a Catch occurs within strict code and the Identifier of the // Catch production is eval or arguments clause := node.AsCatchClause() - if b.inStrictMode && clause.VariableDeclaration != nil { + if clause.VariableDeclaration != nil { b.checkStrictModeEvalOrArguments(node, clause.VariableDeclaration.AsVariableDeclaration().Name()) } } @@ -1399,7 +1372,7 @@ func (b *Binder) checkStrictModeCatchClause(node *ast.Node) { func (b *Binder) checkStrictModeDeleteExpression(node *ast.Node) { // Grammar checking expr := node.AsDeleteExpression() - if b.inStrictMode && expr.Expression.Kind == ast.KindIdentifier { + if expr.Expression.Kind == ast.KindIdentifier { // When a delete operator occurs within strict mode code, a SyntaxError is thrown if its // UnaryExpression is a direct reference to a variable, function argument, or function name b.errorOnNode(expr.Expression, diagnostics.X_delete_cannot_be_called_on_an_identifier_in_strict_mode) @@ -1411,35 +1384,27 @@ func (b *Binder) checkStrictModePostfixUnaryExpression(node *ast.Node) { // The identifier eval or arguments may not appear as the LeftHandSideExpression of an // Assignment operator(11.13) or of a PostfixExpression(11.3) or as the UnaryExpression // operated upon by a Prefix Increment(11.4.4) or a Prefix Decrement(11.4.5) operator. - if b.inStrictMode { - b.checkStrictModeEvalOrArguments(node, node.AsPostfixUnaryExpression().Operand) - } + b.checkStrictModeEvalOrArguments(node, node.AsPostfixUnaryExpression().Operand) } func (b *Binder) checkStrictModePrefixUnaryExpression(node *ast.Node) { // Grammar checking - if b.inStrictMode { - expr := node.AsPrefixUnaryExpression() - if expr.Operator == ast.KindPlusPlusToken || expr.Operator == ast.KindMinusMinusToken { - b.checkStrictModeEvalOrArguments(node, expr.Operand) - } + expr := node.AsPrefixUnaryExpression() + if expr.Operator == ast.KindPlusPlusToken || expr.Operator == ast.KindMinusMinusToken { + b.checkStrictModeEvalOrArguments(node, expr.Operand) } } func (b *Binder) checkStrictModeWithStatement(node *ast.Node) { // Grammar checking for withStatement - if b.inStrictMode { - b.errorOnFirstToken(node, diagnostics.X_with_statements_are_not_allowed_in_strict_mode) - } + b.errorOnFirstToken(node, diagnostics.X_with_statements_are_not_allowed_in_strict_mode) } func (b *Binder) checkStrictModeLabeledStatement(node *ast.Node) { // Grammar checking for labeledStatement - if b.inStrictMode { - data := node.AsLabeledStatement() - if ast.IsDeclarationStatement(data.Statement) || ast.IsVariableStatement(data.Statement) { - b.errorOnFirstToken(data.Label, diagnostics.A_label_is_not_allowed_here) - } + data := node.AsLabeledStatement() + if ast.IsDeclarationStatement(data.Statement) || ast.IsVariableStatement(data.Statement) { + b.errorOnFirstToken(data.Label, diagnostics.A_label_is_not_allowed_here) } } diff --git a/testdata/baselines/reference/submodule/conformance/parserWithStatement1.d.errors.txt b/testdata/baselines/reference/submodule/conformance/parserWithStatement1.d.errors.txt index fea706378c4..ff1b088ef29 100644 --- a/testdata/baselines/reference/submodule/conformance/parserWithStatement1.d.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/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/testdata/baselines/reference/submodule/conformance/parserWithStatement1.d.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/parserWithStatement1.d.errors.txt.diff new file mode 100644 index 00000000000..c2188854816 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/parserWithStatement1.d.errors.txt.diff @@ -0,0 +1,19 @@ +--- old.parserWithStatement1.d.errors.txt ++++ new.parserWithStatement1.d.errors.txt +@@= skipped -0, +0 lines =@@ + 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'. + ~~~ \ No newline at end of file From 47394191a706077fbb3f35bec03ec0423040894c Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Thu, 12 Feb 2026 16:26:31 -0800 Subject: [PATCH 4/6] fmt --- internal/ast/parseoptions.go | 1 - internal/testutil/tsbaseline/js_emit_baseline.go | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/internal/ast/parseoptions.go b/internal/ast/parseoptions.go index a2aa2ee93c3..8af2af82ad7 100644 --- a/internal/ast/parseoptions.go +++ b/internal/ast/parseoptions.go @@ -21,7 +21,6 @@ type SourceFileParseOptions struct { JSDocParsingMode JSDocParsingMode } - type ExternalModuleIndicatorOptions struct { JSX bool Force bool diff --git a/internal/testutil/tsbaseline/js_emit_baseline.go b/internal/testutil/tsbaseline/js_emit_baseline.go index fdc1483935c..409bc196de7 100644 --- a/internal/testutil/tsbaseline/js_emit_baseline.go +++ b/internal/testutil/tsbaseline/js_emit_baseline.go @@ -55,8 +55,8 @@ func DoJSEmitBaseline( } if len(result.Diagnostics) == 0 && strings.HasSuffix(file.UnitName, tspath.ExtensionJson) { fileParseResult := parser.ParseSourceFile(ast.SourceFileParseOptions{ - FileName: file.UnitName, - Path: tspath.Path(file.UnitName), + FileName: file.UnitName, + Path: tspath.Path(file.UnitName), }, file.Content, core.ScriptKindJSON) if len(fileParseResult.Diagnostics()) > 0 { jsCode.WriteString(GetErrorBaseline(t, []*harnessutil.TestFile{file}, diagnosticwriter.WrapASTDiagnostics(fileParseResult.Diagnostics()), diagnosticwriter.CompareASTDiagnostics, false /*pretty*/)) From 07493bd912ba9e994dc28a5f001205d4b4e4df6e Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Sat, 14 Feb 2026 23:22:51 -0800 Subject: [PATCH 5/6] Fix error --- internal/compiler/program.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/compiler/program.go b/internal/compiler/program.go index 0d3fc530b12..2c32ab579af 100644 --- a/internal/compiler/program.go +++ b/internal/compiler/program.go @@ -686,7 +686,7 @@ func (p *Program) verifyCompilerOptions() { } if options.AlwaysStrict.IsFalse() { - createRemovedOptionDiagnostic("alwaysStrict", "false", "strict") + createRemovedOptionDiagnostic("alwaysStrict", "false", "") } if options.StrictPropertyInitialization.IsTrue() && !options.GetStrictOptionValue(options.StrictNullChecks) { From 75cf13109339a5bd96221177f4431cbe6cbe6c59 Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Sat, 14 Feb 2026 23:23:44 -0800 Subject: [PATCH 6/6] Unskip, too many tests --- internal/testutil/harnessutil/harnessutil.go | 3 - ...hStatements(alwaysstrict=false).errors.txt | 50 + ...ements(alwaysstrict=false).errors.txt.diff | 36 + ...bientWithStatements(alwaysstrict=false).js | 33 + ...WithStatements(alwaysstrict=false).js.diff | 7 + ...WithStatements(alwaysstrict=false).symbols | 42 + ...ntWithStatements(alwaysstrict=false).types | 53 + ...rgumentList(alwaysstrict=false).errors.txt | 18 + ...ntList(alwaysstrict=false).errors.txt.diff | 22 + ...onScopeArgumentList(alwaysstrict=false).js | 14 + ...peArgumentList(alwaysstrict=false).js.diff | 10 + ...peArgumentList(alwaysstrict=false).symbols | 13 + ...copeArgumentList(alwaysstrict=false).types | 16 + ...tLiteral_Js(alwaysstrict=false).errors.txt | 37 + ...ral_Js(alwaysstrict=false).errors.txt.diff | 25 + ...eInObjectLiteral_Js(alwaysstrict=false).js | 54 + ...jectLiteral_Js(alwaysstrict=false).js.diff | 10 + ...jectLiteral_Js(alwaysstrict=false).symbols | 51 + ...ObjectLiteral_Js(alwaysstrict=false).types | 64 ++ ...teProtected(alwaysstrict=false).errors.txt | 63 ++ ...tected(alwaysstrict=false).errors.txt.diff | 40 + ...licPrivateProtected(alwaysstrict=false).js | 81 ++ ...ivateProtected(alwaysstrict=false).js.diff | 38 + ...ivateProtected(alwaysstrict=false).symbols | 74 ++ ...PrivateProtected(alwaysstrict=false).types | 80 ++ ...waysstrict=false,target=es2015).errors.txt | 45 + ...trict=false,target=es2015).errors.txt.diff | 49 + ...tions(alwaysstrict=false,target=es2015).js | 37 + ...(alwaysstrict=false,target=es2015).js.diff | 10 + ...(alwaysstrict=false,target=es2015).symbols | 40 + ...ns(alwaysstrict=false,target=es2015).types | 49 + ...waysstrict=false,target=es2015).errors.txt | 109 ++ ...trict=false,target=es2015).errors.txt.diff | 113 ++ ...ction(alwaysstrict=false,target=es2015).js | 75 ++ ...(alwaysstrict=false,target=es2015).js.diff | 10 + ...(alwaysstrict=false,target=es2015).symbols | 136 +++ ...on(alwaysstrict=false,target=es2015).types | 140 +++ ...waysstrict=false,target=es2015).errors.txt | 99 ++ ...trict=false,target=es2015).errors.txt.diff | 103 ++ ...sions(alwaysstrict=false,target=es2015).js | 66 ++ ...(alwaysstrict=false,target=es2015).js.diff | 10 + ...(alwaysstrict=false,target=es2015).symbols | 96 ++ ...ns(alwaysstrict=false,target=es2015).types | 100 ++ ...mentsInType(alwaysstrict=false).errors.txt | 49 + ...InType(alwaysstrict=false).errors.txt.diff | 53 + ...sionArgumentsInType(alwaysstrict=false).js | 24 + ...rgumentsInType(alwaysstrict=false).js.diff | 10 + ...rgumentsInType(alwaysstrict=false).symbols | 55 + ...nArgumentsInType(alwaysstrict=false).types | 55 + ...mentsInType(alwaysstrict=false).types.diff | 20 + ...faceMembers(alwaysstrict=false).errors.txt | 60 ++ ...embers(alwaysstrict=false).errors.txt.diff | 64 ++ ...ntsInterfaceMembers(alwaysstrict=false).js | 34 + ...terfaceMembers(alwaysstrict=false).js.diff | 7 + ...terfaceMembers(alwaysstrict=false).symbols | 65 ++ ...InterfaceMembers(alwaysstrict=false).types | 51 + ...lidContexts(alwaysstrict=false).errors.txt | 73 ++ ...ntexts(alwaysstrict=false).errors.txt.diff | 49 + ...ons-invalidContexts(alwaysstrict=false).js | 59 ++ ...nvalidContexts(alwaysstrict=false).js.diff | 10 + ...nvalidContexts(alwaysstrict=false).symbols | 55 + ...-invalidContexts(alwaysstrict=false).types | 83 ++ ...ions-scopes(alwaysstrict=false).errors.txt | 163 +++ ...scopes(alwaysstrict=false).errors.txt.diff | 43 + ...Declarations-scopes(alwaysstrict=false).js | 276 +++++ ...rations-scopes(alwaysstrict=false).js.diff | 10 + ...rations-scopes(alwaysstrict=false).symbols | 293 ++++++ ...larations-scopes(alwaysstrict=false).types | 374 +++++++ ...lidContexts(alwaysstrict=false).errors.txt | 141 +++ ...ntexts(alwaysstrict=false).errors.txt.diff | 52 + ...tions-validContexts(alwaysstrict=false).js | 228 +++++ ...-validContexts(alwaysstrict=false).js.diff | 10 + ...-validContexts(alwaysstrict=false).symbols | 197 ++++ ...ns-validContexts(alwaysstrict=false).types | 253 +++++ ...KeywordsYes(alwaysstrict=false).errors.txt | 421 ++++++++ ...rdsYes(alwaysstrict=false).errors.txt.diff | 151 +++ .../convertKeywordsYes(alwaysstrict=false).js | 531 ++++++++++ ...ertKeywordsYes(alwaysstrict=false).js.diff | 127 +++ ...ertKeywordsYes(alwaysstrict=false).symbols | 882 ++++++++++++++++ ...nvertKeywordsYes(alwaysstrict=false).types | 965 ++++++++++++++++++ ...waysstrict=false,target=es2015).errors.txt | 75 ++ ...trict=false,target=es2015).errors.txt.diff | 67 ++ ...ments(alwaysstrict=false,target=es2015).js | 63 ++ ...(alwaysstrict=false,target=es2015).js.diff | 63 ++ ...(alwaysstrict=false,target=es2015).symbols | 56 + ...ts(alwaysstrict=false,target=es2015).types | 73 ++ ...ilityErrors(alwaysstrict=false).errors.txt | 36 + ...Errors(alwaysstrict=false).errors.txt.diff | 24 + ...habilityErrors(alwaysstrict=false).symbols | 40 + ...achabilityErrors(alwaysstrict=false).types | 47 + ...nStatements(alwaysstrict=false).errors.txt | 37 + ...ements(alwaysstrict=false).errors.txt.diff | 26 + ...loseParenStatements(alwaysstrict=false).js | 31 + ...arenStatements(alwaysstrict=false).js.diff | 10 + ...arenStatements(alwaysstrict=false).symbols | 39 + ...eParenStatements(alwaysstrict=false).types | 69 ++ ...waysstrict=false,target=es2015).errors.txt | 14 + ...trict=false,target=es2015).errors.txt.diff | 18 + ...-of19(alwaysstrict=false,target=es2015).js | 23 + ...(alwaysstrict=false,target=es2015).js.diff | 10 + ...(alwaysstrict=false,target=es2015).symbols | 21 + ...19(alwaysstrict=false,target=es2015).types | 23 + ...ration2_es6(alwaysstrict=false).errors.txt | 10 + ...n2_es6(alwaysstrict=false).errors.txt.diff | 14 + ...ionDeclaration2_es6(alwaysstrict=false).js | 10 + ...claration2_es6(alwaysstrict=false).js.diff | 9 + ...claration2_es6(alwaysstrict=false).symbols | 7 + ...Declaration2_es6(alwaysstrict=false).types | 7 + ...ernalModule(alwaysstrict=false).errors.txt | 51 + ...Module(alwaysstrict=false).errors.txt.diff | 23 + ...ortInInternalModule(alwaysstrict=false).js | 67 ++ ...InternalModule(alwaysstrict=false).js.diff | 10 + ...InternalModule(alwaysstrict=false).symbols | 95 ++ ...InInternalModule(alwaysstrict=false).types | 105 ++ ...ionContexts(alwaysstrict=false).errors.txt | 124 +++ ...ntexts(alwaysstrict=false).errors.txt.diff | 33 + ...rowFunctionContexts(alwaysstrict=false).js | 183 ++++ ...nctionContexts(alwaysstrict=false).js.diff | 36 + ...nctionContexts(alwaysstrict=false).symbols | 210 ++++ ...FunctionContexts(alwaysstrict=false).types | 253 +++++ ...nyOtherType(alwaysstrict=false).errors.txt | 174 ++++ ...erType(alwaysstrict=false).errors.txt.diff | 112 ++ ...torWithAnyOtherType(alwaysstrict=false).js | 119 +++ ...thAnyOtherType(alwaysstrict=false).js.diff | 18 + ...thAnyOtherType(alwaysstrict=false).symbols | 190 ++++ ...WithAnyOtherType(alwaysstrict=false).types | 246 +++++ ...waysstrict=false,target=es2015).errors.txt | 10 + ...trict=false,target=es2015).errors.txt.diff | 14 + ...nts03(alwaysstrict=false,target=es2015).js | 10 + ...(alwaysstrict=false,target=es2015).js.diff | 9 + ...(alwaysstrict=false,target=es2015).symbols | 10 + ...03(alwaysstrict=false,target=es2015).types | 11 + ...ments03_ES6(alwaysstrict=false).errors.txt | 10 + ...03_ES6(alwaysstrict=false).errors.txt.diff | 14 + ...singArguments03_ES6(alwaysstrict=false).js | 10 + ...rguments03_ES6(alwaysstrict=false).js.diff | 9 + ...rguments03_ES6(alwaysstrict=false).symbols | 10 + ...gArguments03_ES6(alwaysstrict=false).types | 11 + ...waysstrict=false,target=es2015).errors.txt | 12 + ...trict=false,target=es2015).errors.txt.diff | 16 + ...nts04(alwaysstrict=false,target=es2015).js | 14 + ...(alwaysstrict=false,target=es2015).js.diff | 10 + ...(alwaysstrict=false,target=es2015).symbols | 13 + ...04(alwaysstrict=false,target=es2015).types | 14 + ...ments04_ES6(alwaysstrict=false).errors.txt | 12 + ...04_ES6(alwaysstrict=false).errors.txt.diff | 16 + ...singArguments04_ES6(alwaysstrict=false).js | 14 + ...rguments04_ES6(alwaysstrict=false).js.diff | 10 + ...rguments04_ES6(alwaysstrict=false).symbols | 13 + ...gArguments04_ES6(alwaysstrict=false).types | 14 + ...waysstrict=false,target=es2015).errors.txt | 11 + ...trict=false,target=es2015).errors.txt.diff | 15 + ...nts05(alwaysstrict=false,target=es2015).js | 12 + ...(alwaysstrict=false,target=es2015).js.diff | 10 + ...(alwaysstrict=false,target=es2015).symbols | 11 + ...05(alwaysstrict=false,target=es2015).types | 12 + ...ments05_ES6(alwaysstrict=false).errors.txt | 11 + ...05_ES6(alwaysstrict=false).errors.txt.diff | 15 + ...singArguments05_ES6(alwaysstrict=false).js | 12 + ...rguments05_ES6(alwaysstrict=false).js.diff | 10 + ...rguments05_ES6(alwaysstrict=false).symbols | 11 + ...gArguments05_ES6(alwaysstrict=false).types | 12 + ...waysstrict=false,target=es2015).errors.txt | 11 + ...trict=false,target=es2015).errors.txt.diff | 15 + ...nts06(alwaysstrict=false,target=es2015).js | 12 + ...(alwaysstrict=false,target=es2015).js.diff | 10 + ...(alwaysstrict=false,target=es2015).symbols | 11 + ...06(alwaysstrict=false,target=es2015).types | 13 + ...ments06_ES6(alwaysstrict=false).errors.txt | 11 + ...06_ES6(alwaysstrict=false).errors.txt.diff | 15 + ...singArguments06_ES6(alwaysstrict=false).js | 12 + ...rguments06_ES6(alwaysstrict=false).js.diff | 10 + ...rguments06_ES6(alwaysstrict=false).symbols | 11 + ...gArguments06_ES6(alwaysstrict=false).types | 13 + ...waysstrict=false,target=es2015).errors.txt | 14 + ...trict=false,target=es2015).errors.txt.diff | 18 + ...nts07(alwaysstrict=false,target=es2015).js | 12 + ...(alwaysstrict=false,target=es2015).js.diff | 10 + ...(alwaysstrict=false,target=es2015).symbols | 12 + ...07(alwaysstrict=false,target=es2015).types | 14 + ...ments07_ES6(alwaysstrict=false).errors.txt | 14 + ...07_ES6(alwaysstrict=false).errors.txt.diff | 18 + ...singArguments07_ES6(alwaysstrict=false).js | 12 + ...rguments07_ES6(alwaysstrict=false).js.diff | 10 + ...rguments07_ES6(alwaysstrict=false).symbols | 12 + ...gArguments07_ES6(alwaysstrict=false).types | 14 + ...waysstrict=false,target=es2015).errors.txt | 14 + ...trict=false,target=es2015).errors.txt.diff | 18 + ...nts08(alwaysstrict=false,target=es2015).js | 12 + ...(alwaysstrict=false,target=es2015).js.diff | 10 + ...(alwaysstrict=false,target=es2015).symbols | 12 + ...08(alwaysstrict=false,target=es2015).types | 14 + ...ments08_ES6(alwaysstrict=false).errors.txt | 14 + ...08_ES6(alwaysstrict=false).errors.txt.diff | 18 + ...singArguments08_ES6(alwaysstrict=false).js | 12 + ...rguments08_ES6(alwaysstrict=false).js.diff | 10 + ...rguments08_ES6(alwaysstrict=false).symbols | 12 + ...gArguments08_ES6(alwaysstrict=false).types | 14 + ...waysstrict=false,target=es2015).errors.txt | 12 + ...trict=false,target=es2015).errors.txt.diff | 16 + ...nts11(alwaysstrict=false,target=es2015).js | 14 + ...(alwaysstrict=false,target=es2015).js.diff | 10 + ...(alwaysstrict=false,target=es2015).symbols | 14 + ...11(alwaysstrict=false,target=es2015).types | 17 + ...ments11_ES6(alwaysstrict=false).errors.txt | 12 + ...11_ES6(alwaysstrict=false).errors.txt.diff | 16 + ...singArguments11_ES6(alwaysstrict=false).js | 14 + ...rguments11_ES6(alwaysstrict=false).js.diff | 10 + ...rguments11_ES6(alwaysstrict=false).symbols | 14 + ...gArguments11_ES6(alwaysstrict=false).types | 17 + ...waysstrict=false,target=es2015).errors.txt | 12 + ...trict=false,target=es2015).errors.txt.diff | 16 + ...nts13(alwaysstrict=false,target=es2015).js | 14 + ...(alwaysstrict=false,target=es2015).js.diff | 10 + ...(alwaysstrict=false,target=es2015).symbols | 14 + ...13(alwaysstrict=false,target=es2015).types | 17 + ...ments13_ES6(alwaysstrict=false).errors.txt | 12 + ...13_ES6(alwaysstrict=false).errors.txt.diff | 16 + ...singArguments13_ES6(alwaysstrict=false).js | 14 + ...rguments13_ES6(alwaysstrict=false).js.diff | 10 + ...rguments13_ES6(alwaysstrict=false).symbols | 14 + ...gArguments13_ES6(alwaysstrict=false).types | 17 + ...waysstrict=false,target=es2015).errors.txt | 14 + ...trict=false,target=es2015).errors.txt.diff | 18 + ...nts14(alwaysstrict=false,target=es2015).js | 18 + ...(alwaysstrict=false,target=es2015).js.diff | 10 + ...(alwaysstrict=false,target=es2015).symbols | 18 + ...14(alwaysstrict=false,target=es2015).types | 21 + ...ments14_ES6(alwaysstrict=false).errors.txt | 14 + ...14_ES6(alwaysstrict=false).errors.txt.diff | 18 + ...singArguments14_ES6(alwaysstrict=false).js | 18 + ...rguments14_ES6(alwaysstrict=false).js.diff | 10 + ...rguments14_ES6(alwaysstrict=false).symbols | 18 + ...gArguments14_ES6(alwaysstrict=false).types | 21 + ...waysstrict=false,target=es2015).errors.txt | 18 + ...trict=false,target=es2015).errors.txt.diff | 22 + ...nts15(alwaysstrict=false,target=es2015).js | 20 + ...(alwaysstrict=false,target=es2015).js.diff | 10 + ...(alwaysstrict=false,target=es2015).symbols | 21 + ...15(alwaysstrict=false,target=es2015).types | 25 + ...ments15_ES6(alwaysstrict=false).errors.txt | 18 + ...15_ES6(alwaysstrict=false).errors.txt.diff | 22 + ...singArguments15_ES6(alwaysstrict=false).js | 20 + ...rguments15_ES6(alwaysstrict=false).js.diff | 10 + ...rguments15_ES6(alwaysstrict=false).symbols | 21 + ...gArguments15_ES6(alwaysstrict=false).types | 25 + ...waysstrict=false,target=es2015).errors.txt | 18 + ...trict=false,target=es2015).errors.txt.diff | 22 + ...nts16(alwaysstrict=false,target=es2015).js | 20 + ...(alwaysstrict=false,target=es2015).js.diff | 10 + ...(alwaysstrict=false,target=es2015).symbols | 20 + ...16(alwaysstrict=false,target=es2015).types | 26 + ...ments16_ES6(alwaysstrict=false).errors.txt | 18 + ...16_ES6(alwaysstrict=false).errors.txt.diff | 22 + ...singArguments16_ES6(alwaysstrict=false).js | 20 + ...rguments16_ES6(alwaysstrict=false).js.diff | 10 + ...rguments16_ES6(alwaysstrict=false).symbols | 20 + ...gArguments16_ES6(alwaysstrict=false).types | 26 + ...waysstrict=false,target=es2015).errors.txt | 18 + ...trict=false,target=es2015).errors.txt.diff | 22 + ...nts17(alwaysstrict=false,target=es2015).js | 20 + ...(alwaysstrict=false,target=es2015).js.diff | 10 + ...(alwaysstrict=false,target=es2015).symbols | 21 + ...17(alwaysstrict=false,target=es2015).types | 28 + ...ments17_ES6(alwaysstrict=false).errors.txt | 18 + ...17_ES6(alwaysstrict=false).errors.txt.diff | 22 + ...singArguments17_ES6(alwaysstrict=false).js | 20 + ...rguments17_ES6(alwaysstrict=false).js.diff | 10 + ...rguments17_ES6(alwaysstrict=false).symbols | 21 + ...gArguments17_ES6(alwaysstrict=false).types | 28 + .../for-of56(alwaysstrict=false).errors.txt | 9 + ...r-of56(alwaysstrict=false).errors.txt.diff | 13 + .../for-of56(alwaysstrict=false).js | 8 + .../for-of56(alwaysstrict=false).js.diff | 8 + .../for-of56(alwaysstrict=false).symbols | 6 + .../for-of56(alwaysstrict=false).types | 7 + ...TypeCheck38(alwaysstrict=false).errors.txt | 16 + ...heck38(alwaysstrict=false).errors.txt.diff | 20 + ...eneratorTypeCheck38(alwaysstrict=false).js | 16 + ...torTypeCheck38(alwaysstrict=false).js.diff | 10 + ...torTypeCheck38(alwaysstrict=false).symbols | 14 + ...ratorTypeCheck38(alwaysstrict=false).types | 17 + ...hods.es2018(alwaysstrict=false).errors.txt | 202 ++++ ...es2018(alwaysstrict=false).errors.txt.diff | 35 + ...Methods.es2018(alwaysstrict=false).symbols | 266 +++++ ...ssMethods.es2018(alwaysstrict=false).types | 281 +++++ ...ions.es2018(alwaysstrict=false).errors.txt | 128 +++ ...es2018(alwaysstrict=false).errors.txt.diff | 89 ++ ...rations.es2018(alwaysstrict=false).symbols | 145 +++ ...larations.es2018(alwaysstrict=false).types | 158 +++ ...ions.es2018(alwaysstrict=false).errors.txt | 131 +++ ...es2018(alwaysstrict=false).errors.txt.diff | 79 ++ ...essions.es2018(alwaysstrict=false).symbols | 158 +++ ...pressions.es2018(alwaysstrict=false).types | 198 ++++ ...hods.es2018(alwaysstrict=false).errors.txt | 191 ++++ ...es2018(alwaysstrict=false).errors.txt.diff | 72 ++ ...Methods.es2018(alwaysstrict=false).symbols | 258 +++++ ...alMethods.es2018(alwaysstrict=false).types | 296 ++++++ ...eclaration1(alwaysstrict=false).errors.txt | 21 + ...ation1(alwaysstrict=false).errors.txt.diff | 29 + ...ariableDeclaration1(alwaysstrict=false).js | 22 + ...leDeclaration1(alwaysstrict=false).js.diff | 10 + ...leDeclaration1(alwaysstrict=false).symbols | 18 + ...ableDeclaration1(alwaysstrict=false).types | 23 + 304 files changed, 16260 insertions(+), 3 deletions(-) create mode 100644 testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).errors.txt create mode 100644 testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).js create mode 100644 testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).js.diff create mode 100644 testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).symbols create mode 100644 testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).types create mode 100644 testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).errors.txt create mode 100644 testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).js create mode 100644 testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).js.diff create mode 100644 testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).symbols create mode 100644 testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).types create mode 100644 testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).errors.txt create mode 100644 testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).js create mode 100644 testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).js.diff create mode 100644 testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).symbols create mode 100644 testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).types create mode 100644 testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).errors.txt create mode 100644 testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).js create mode 100644 testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).js.diff create mode 100644 testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).symbols create mode 100644 testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).types create mode 100644 testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).errors.txt create mode 100644 testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).js create mode 100644 testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).js.diff create mode 100644 testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).symbols create mode 100644 testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).types create mode 100644 testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).errors.txt create mode 100644 testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).js create mode 100644 testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).js.diff create mode 100644 testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).symbols create mode 100644 testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).types create mode 100644 testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).errors.txt create mode 100644 testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).js create mode 100644 testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).js.diff create mode 100644 testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).symbols create mode 100644 testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).types create mode 100644 testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).errors.txt create mode 100644 testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).js create mode 100644 testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).js.diff create mode 100644 testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).symbols create mode 100644 testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).types create mode 100644 testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).types.diff create mode 100644 testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).errors.txt create mode 100644 testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).js create mode 100644 testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).js.diff create mode 100644 testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).symbols create mode 100644 testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).types create mode 100644 testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).errors.txt create mode 100644 testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).js create mode 100644 testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).js.diff create mode 100644 testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).symbols create mode 100644 testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).types create mode 100644 testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).errors.txt create mode 100644 testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).js create mode 100644 testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).js.diff create mode 100644 testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).symbols create mode 100644 testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).types create mode 100644 testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).errors.txt create mode 100644 testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).js create mode 100644 testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).js.diff create mode 100644 testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).symbols create mode 100644 testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).types create mode 100644 testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).errors.txt create mode 100644 testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).js create mode 100644 testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).js.diff create mode 100644 testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).symbols create mode 100644 testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).types create mode 100644 testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).errors.txt create mode 100644 testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).js create mode 100644 testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).js.diff create mode 100644 testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).symbols create mode 100644 testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).types create mode 100644 testdata/baselines/reference/submodule/compiler/jsFileCompilationBindReachabilityErrors(alwaysstrict=false).errors.txt create mode 100644 testdata/baselines/reference/submodule/compiler/jsFileCompilationBindReachabilityErrors(alwaysstrict=false).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/compiler/jsFileCompilationBindReachabilityErrors(alwaysstrict=false).symbols create mode 100644 testdata/baselines/reference/submodule/compiler/jsFileCompilationBindReachabilityErrors(alwaysstrict=false).types create mode 100644 testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).errors.txt create mode 100644 testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).js create mode 100644 testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).js.diff create mode 100644 testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).symbols create mode 100644 testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).types create mode 100644 testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).errors.txt create mode 100644 testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).js create mode 100644 testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).js.diff create mode 100644 testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).symbols create mode 100644 testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).types create mode 100644 testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).errors.txt create mode 100644 testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).js create mode 100644 testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).js.diff create mode 100644 testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).symbols create mode 100644 testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).types create mode 100644 testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).errors.txt create mode 100644 testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).js create mode 100644 testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).js.diff create mode 100644 testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).symbols create mode 100644 testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).types create mode 100644 testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).errors.txt create mode 100644 testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).js create mode 100644 testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).js.diff create mode 100644 testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).symbols create mode 100644 testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).types create mode 100644 testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).errors.txt create mode 100644 testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).js create mode 100644 testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).js.diff create mode 100644 testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).symbols create mode 100644 testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).types create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).errors.txt create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).js create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).js.diff create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).symbols create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).types create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).errors.txt create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).js create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).js.diff create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).symbols create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).types create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).errors.txt create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).js create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).js.diff create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).symbols create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).types create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).errors.txt create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).js create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).js.diff create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).symbols create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).types create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).errors.txt create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).js create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).js.diff create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).symbols create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).types create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).errors.txt create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).js create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).js.diff create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).symbols create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).types create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).errors.txt create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).js create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).js.diff create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).symbols create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).types create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).errors.txt create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).js create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).js.diff create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).symbols create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).types create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).errors.txt create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).js create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).js.diff create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).symbols create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).types create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).errors.txt create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).js create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).js.diff create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).symbols create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).types create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).errors.txt create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).js create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).js.diff create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).symbols create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).types create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).errors.txt create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).js create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).js.diff create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).symbols create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).types create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).errors.txt create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).js create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).js.diff create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).symbols create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).types create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).errors.txt create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).js create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).js.diff create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).symbols create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).types create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).errors.txt create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).js create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).js.diff create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).symbols create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).types create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).errors.txt create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).js create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).js.diff create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).symbols create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).types create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).errors.txt create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).js create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).js.diff create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).symbols create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).types create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).errors.txt create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).js create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).js.diff create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).symbols create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).types create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).errors.txt create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).js create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).js.diff create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).symbols create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).types create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).errors.txt create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).js create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).js.diff create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).symbols create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).types create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).errors.txt create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).js create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).js.diff create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).symbols create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).types create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).errors.txt create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).js create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).js.diff create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).symbols create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).types create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).errors.txt create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).js create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).js.diff create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).symbols create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).types create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).errors.txt create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).js create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).js.diff create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).symbols create mode 100644 testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).types create mode 100644 testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).errors.txt create mode 100644 testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).js create mode 100644 testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).js.diff create mode 100644 testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).symbols create mode 100644 testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).types create mode 100644 testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).errors.txt create mode 100644 testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).js create mode 100644 testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).js.diff create mode 100644 testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).symbols create mode 100644 testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).types create mode 100644 testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.classMethods.es2018(alwaysstrict=false).errors.txt create mode 100644 testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.classMethods.es2018(alwaysstrict=false).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.classMethods.es2018(alwaysstrict=false).symbols create mode 100644 testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.classMethods.es2018(alwaysstrict=false).types create mode 100644 testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionDeclarations.es2018(alwaysstrict=false).errors.txt create mode 100644 testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionDeclarations.es2018(alwaysstrict=false).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionDeclarations.es2018(alwaysstrict=false).symbols create mode 100644 testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionDeclarations.es2018(alwaysstrict=false).types create mode 100644 testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionExpressions.es2018(alwaysstrict=false).errors.txt create mode 100644 testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionExpressions.es2018(alwaysstrict=false).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionExpressions.es2018(alwaysstrict=false).symbols create mode 100644 testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionExpressions.es2018(alwaysstrict=false).types create mode 100644 testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.objectLiteralMethods.es2018(alwaysstrict=false).errors.txt create mode 100644 testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.objectLiteralMethods.es2018(alwaysstrict=false).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.objectLiteralMethods.es2018(alwaysstrict=false).symbols create mode 100644 testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.objectLiteralMethods.es2018(alwaysstrict=false).types create mode 100644 testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).errors.txt create mode 100644 testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).errors.txt.diff create mode 100644 testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).js create mode 100644 testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).js.diff create mode 100644 testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).symbols create mode 100644 testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).types diff --git a/internal/testutil/harnessutil/harnessutil.go b/internal/testutil/harnessutil/harnessutil.go index aa5078cf290..2cdb2a3b150 100644 --- a/internal/testutil/harnessutil/harnessutil.go +++ b/internal/testutil/harnessutil/harnessutil.go @@ -1228,7 +1228,4 @@ func SkipUnsupportedCompilerOptions(t *testing.T, options *core.CompilerOptions) case core.ScriptTargetES5: t.Skipf("unsupported target %s", options.Target) } - if options.AlwaysStrict.IsFalse() { - t.Skipf("alwaysStrict=false is unsupported") - } } diff --git a/testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..f11fa58bb3c --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).errors.txt @@ -0,0 +1,50 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +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(10,5): error TS1344: 'A label is not allowed here. +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'. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== ambientWithStatements.ts (6 errors) ==== + declare namespace M { + break; + ~~~~~ +!!! error TS1036: Statements are not allowed in ambient contexts. + continue; + ~~~~~~~~~ +!!! error TS1104: A 'continue' statement can only be used within an enclosing iteration statement. + debugger; + do { } while (true); + var x; + for (x in null) { } + if (true) { } else { } + 1; + L: var y; + ~ +!!! error TS1344: 'A label is not allowed here. + return; + ~~~~~~ +!!! error TS1108: A 'return' statement can only be used within a function body. + switch (x) { + case 1: + break; + default: + break; + } + throw "nooo"; + try { + } + catch (e) { + } + 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'. + } + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..8724d77a289 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,36 @@ +--- old.ambientWithStatements(alwaysstrict=false).errors.txt ++++ new.ambientWithStatements(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. + 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(10,5): error TS1344: 'A label is not allowed here. + 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) ==== ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== ambientWithStatements.ts (6 errors) ==== + declare namespace M { + break; + ~~~~~ +@@= skipped -18, +22 lines =@@ + if (true) { } else { } + 1; + L: var y; ++ ~ ++!!! error TS1344: 'A label is not allowed here. + return; + ~~~~~~ + !!! error TS1108: A 'return' statement can only be used within a function body. +@@= skipped -17, +19 lines =@@ + 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'. + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).js b/testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).js new file mode 100644 index 00000000000..860f4d30128 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).js @@ -0,0 +1,33 @@ +//// [tests/cases/compiler/ambientWithStatements.ts] //// + +//// [ambientWithStatements.ts] +declare namespace M { + break; + continue; + debugger; + do { } while (true); + var x; + for (x in null) { } + if (true) { } else { } + 1; + L: var y; + return; + switch (x) { + case 1: + break; + default: + break; + } + throw "nooo"; + try { + } + catch (e) { + } + finally { + } + with (x) { + } +} + +//// [ambientWithStatements.js] +"use strict"; diff --git a/testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..6226bf21665 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).js.diff @@ -0,0 +1,7 @@ +--- old.ambientWithStatements(alwaysstrict=false).js ++++ new.ambientWithStatements(alwaysstrict=false).js +@@= skipped -29, +29 lines =@@ + } + + //// [ambientWithStatements.js] ++"use strict"; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).symbols new file mode 100644 index 00000000000..9442562aa5e --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).symbols @@ -0,0 +1,42 @@ +//// [tests/cases/compiler/ambientWithStatements.ts] //// + +=== ambientWithStatements.ts === +declare namespace M { +>M : Symbol(M, Decl(ambientWithStatements.ts, 0, 0)) + + break; + continue; + debugger; + do { } while (true); + var x; +>x : Symbol(x, Decl(ambientWithStatements.ts, 5, 7)) + + for (x in null) { } +>x : Symbol(x, Decl(ambientWithStatements.ts, 5, 7)) + + if (true) { } else { } + 1; + L: var y; +>y : Symbol(y, Decl(ambientWithStatements.ts, 9, 10)) + + return; + switch (x) { +>x : Symbol(x, Decl(ambientWithStatements.ts, 5, 7)) + + case 1: + break; + default: + break; + } + throw "nooo"; + try { + } + catch (e) { +>e : Symbol(e, Decl(ambientWithStatements.ts, 20, 11)) + } + finally { + } + with (x) { +>x : Symbol(x, Decl(ambientWithStatements.ts, 5, 7)) + } +} diff --git a/testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).types b/testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).types new file mode 100644 index 00000000000..5a3b13ca979 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/ambientWithStatements(alwaysstrict=false).types @@ -0,0 +1,53 @@ +//// [tests/cases/compiler/ambientWithStatements.ts] //// + +=== ambientWithStatements.ts === +declare namespace M { +>M : typeof M + + break; + continue; + debugger; + do { } while (true); +>true : true + + var x; +>x : any + + for (x in null) { } +>x : any + + if (true) { } else { } +>true : true + + 1; +>1 : 1 + + L: var y; +>L : any +>y : any + + return; + switch (x) { +>x : any + + case 1: +>1 : 1 + + break; + default: + break; + } + throw "nooo"; +>"nooo" : "nooo" + + try { + } + catch (e) { +>e : any + } + finally { + } + with (x) { +>x : any + } +} diff --git a/testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..d9ae4584f63 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).errors.txt @@ -0,0 +1,18 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +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'. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== 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/testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..2ddb7e489a9 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,22 @@ +--- old.argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).errors.txt ++++ new.argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++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) ==== ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== 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/testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).js b/testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).js new file mode 100644 index 00000000000..8cd10362943 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).js @@ -0,0 +1,14 @@ +//// [tests/cases/compiler/argumentsBindsToFunctionScopeArgumentList.ts] //// + +//// [argumentsBindsToFunctionScopeArgumentList.ts] +var arguments = 10; +function foo(a) { + arguments = 10; /// This shouldnt be of type number and result in error. +} + +//// [argumentsBindsToFunctionScopeArgumentList.js] +"use strict"; +var arguments = 10; +function foo(a) { + arguments = 10; /// This shouldnt be of type number and result in error. +} diff --git a/testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..f5447fac5d9 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).js.diff @@ -0,0 +1,10 @@ +--- old.argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).js ++++ new.argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).js +@@= skipped -6, +6 lines =@@ + } + + //// [argumentsBindsToFunctionScopeArgumentList.js] ++"use strict"; + var arguments = 10; + function foo(a) { + arguments = 10; /// This shouldnt be of type number and result in error. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).symbols new file mode 100644 index 00000000000..a7c67c1447c --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).symbols @@ -0,0 +1,13 @@ +//// [tests/cases/compiler/argumentsBindsToFunctionScopeArgumentList.ts] //// + +=== argumentsBindsToFunctionScopeArgumentList.ts === +var arguments = 10; +>arguments : Symbol(arguments, Decl(argumentsBindsToFunctionScopeArgumentList.ts, 0, 3)) + +function foo(a) { +>foo : Symbol(foo, Decl(argumentsBindsToFunctionScopeArgumentList.ts, 0, 19)) +>a : Symbol(a, Decl(argumentsBindsToFunctionScopeArgumentList.ts, 1, 13)) + + arguments = 10; /// This shouldnt be of type number and result in error. +>arguments : Symbol(arguments) +} diff --git a/testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).types b/testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).types new file mode 100644 index 00000000000..eafe3ade4ec --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsBindsToFunctionScopeArgumentList(alwaysstrict=false).types @@ -0,0 +1,16 @@ +//// [tests/cases/compiler/argumentsBindsToFunctionScopeArgumentList.ts] //// + +=== argumentsBindsToFunctionScopeArgumentList.ts === +var arguments = 10; +>arguments : number +>10 : 10 + +function foo(a) { +>foo : (a: any) => void +>a : any + + arguments = 10; /// This shouldnt be of type number and result in error. +>arguments = 10 : 10 +>arguments : IArguments +>10 : 10 +} diff --git a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..672bed0d547 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).errors.txt @@ -0,0 +1,37 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +/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. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== /a.js (2 errors) ==== + const a = () => { + return { + arguments: [], + }; + }; + + const b = () => { + const c = { + arguments: [], + } + return c; + }; + + const c = () => { + return { + arguments, + ~~~~~~~~~ +!!! error TS18004: No value exists in scope for the shorthand property 'arguments'. Either declare one or provide an initializer. + }; + } + + const d = () => { + const arguments = undefined; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + return { + arguments, + }; + } + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..4857b8851b4 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,25 @@ +--- old.argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).errors.txt ++++ new.argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. + /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 (1 errors) ==== ++/a.js(21,11): error TS1100: Invalid use of 'arguments' in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== /a.js (2 errors) ==== + const a = () => { + return { + arguments: [], +@@= skipped -24, +27 lines =@@ + + const d = () => { + const arguments = undefined; ++ ~~~~~~~~~ ++!!! error TS1100: Invalid use of 'arguments' in strict mode. + return { + arguments, + }; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).js b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).js new file mode 100644 index 00000000000..76020266477 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).js @@ -0,0 +1,54 @@ +//// [tests/cases/compiler/argumentsReferenceInObjectLiteral_Js.ts] //// + +//// [a.js] +const a = () => { + return { + arguments: [], + }; +}; + +const b = () => { + const c = { + arguments: [], + } + return c; +}; + +const c = () => { + return { + arguments, + }; +} + +const d = () => { + const arguments = undefined; + return { + arguments, + }; +} + + +//// [a.js] +"use strict"; +const a = () => { + return { + arguments: [], + }; +}; +const b = () => { + const c = { + arguments: [], + }; + return c; +}; +const c = () => { + return { + arguments, + }; +}; +const d = () => { + const arguments = undefined; + return { + arguments, + }; +}; diff --git a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..8310e64e2f5 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).js.diff @@ -0,0 +1,10 @@ +--- old.argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).js ++++ new.argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).js +@@= skipped -28, +28 lines =@@ + + + //// [a.js] ++"use strict"; + const a = () => { + return { + arguments: [], \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).symbols new file mode 100644 index 00000000000..aa97a19bca1 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).symbols @@ -0,0 +1,51 @@ +//// [tests/cases/compiler/argumentsReferenceInObjectLiteral_Js.ts] //// + +=== /a.js === +const a = () => { +>a : Symbol(a, Decl(a.js, 0, 5)) + + return { + arguments: [], +>arguments : Symbol(arguments, Decl(a.js, 1, 12)) + + }; +}; + +const b = () => { +>b : Symbol(b, Decl(a.js, 6, 5)) + + const c = { +>c : Symbol(c, Decl(a.js, 7, 9)) + + arguments: [], +>arguments : Symbol(arguments, Decl(a.js, 7, 15)) + } + return c; +>c : Symbol(c, Decl(a.js, 7, 9)) + +}; + +const c = () => { +>c : Symbol(c, Decl(a.js, 13, 5)) + + return { + arguments, +>arguments : Symbol(arguments, Decl(a.js, 14, 12)) + + }; +} + +const d = () => { +>d : Symbol(d, Decl(a.js, 19, 5)) + + const arguments = undefined; +>arguments : Symbol(arguments, Decl(a.js, 20, 9)) +>undefined : Symbol(undefined) + + return { + arguments, +>arguments : Symbol(arguments, Decl(a.js, 21, 12)) + + }; +} + diff --git a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).types b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).types new file mode 100644 index 00000000000..c29b02354c5 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js(alwaysstrict=false).types @@ -0,0 +1,64 @@ +//// [tests/cases/compiler/argumentsReferenceInObjectLiteral_Js.ts] //// + +=== /a.js === +const a = () => { +>a : () => { arguments: any[]; } +>() => { return { arguments: [], };} : () => { arguments: any[]; } + + return { +>{ arguments: [], } : { arguments: undefined[]; } + + arguments: [], +>arguments : undefined[] +>[] : undefined[] + + }; +}; + +const b = () => { +>b : () => { arguments: any[]; } +>() => { const c = { arguments: [], } return c;} : () => { arguments: any[]; } + + const c = { +>c : { arguments: any[]; } +>{ arguments: [], } : { arguments: undefined[]; } + + arguments: [], +>arguments : undefined[] +>[] : undefined[] + } + return c; +>c : { arguments: any[]; } + +}; + +const c = () => { +>c : () => { arguments: any; } +>() => { return { arguments, };} : () => { arguments: any; } + + return { +>{ arguments, } : { arguments: any; } + + arguments, +>arguments : any + + }; +} + +const d = () => { +>d : () => { arguments: any; } +>() => { const arguments = undefined; return { arguments, };} : () => { arguments: any; } + + const arguments = undefined; +>arguments : any +>undefined : undefined + + return { +>{ arguments, } : { arguments: any; } + + arguments, +>arguments : any + + }; +} + diff --git a/testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..fa135fe4e73 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).errors.txt @@ -0,0 +1,63 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +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'. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== 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() { + } + } + + class NonPublicClass2 { + public + private nonPublicFunction() { + } + } + private + ~~~~~~~ +!!! error TS1212: Identifier expected. 'private' is a reserved word in strict mode. + ~~~~~~~ +!!! error TS2304: Cannot find name 'private'. + class NonPrivateClass { + private s() { + } + } + + class NonPrivateClass2 { + private + public nonPrivateFunction() { + } + } + protected + ~~~~~~~~~ +!!! error TS1212: Identifier expected. 'protected' is a reserved word in strict mode. + ~~~~~~~~~ +!!! error TS2304: Cannot find name 'protected'. + class NonProtectedClass { + protected s() { + } + } + + class NonProtectedClass2 { + protected + public nonProtectedFunction() { + } + } + + class ClassWithThreeMembers { + public + private + protected + } + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..dd7cbb25df3 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,40 @@ +--- old.asiPublicPrivateProtected(alwaysstrict=false).errors.txt ++++ new.asiPublicPrivateProtected(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++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) ==== ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== 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() { +@@= skipped -18, +25 lines =@@ + } + private + ~~~~~~~ ++!!! error TS1212: Identifier expected. 'private' is a reserved word in strict mode. ++ ~~~~~~~ + !!! error TS2304: Cannot find name 'private'. + class NonPrivateClass { + private s() { +@@= skipped -12, +14 lines =@@ + } + } + protected ++ ~~~~~~~~~ ++!!! error TS1212: Identifier expected. 'protected' is a reserved word in strict mode. + ~~~~~~~~~ + !!! error TS2304: Cannot find name 'protected'. + class NonProtectedClass { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).js b/testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).js new file mode 100644 index 00000000000..94832eff2af --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).js @@ -0,0 +1,81 @@ +//// [tests/cases/compiler/asiPublicPrivateProtected.ts] //// + +//// [asiPublicPrivateProtected.ts] +public +class NonPublicClass { + public s() { + } +} + +class NonPublicClass2 { + public + private nonPublicFunction() { + } +} +private +class NonPrivateClass { + private s() { + } +} + +class NonPrivateClass2 { + private + public nonPrivateFunction() { + } +} +protected +class NonProtectedClass { + protected s() { + } +} + +class NonProtectedClass2 { + protected + public nonProtectedFunction() { + } +} + +class ClassWithThreeMembers { + public + private + protected +} + + +//// [asiPublicPrivateProtected.js] +"use strict"; +public; +class NonPublicClass { + s() { + } +} +class NonPublicClass2 { + public; + nonPublicFunction() { + } +} +private; +class NonPrivateClass { + s() { + } +} +class NonPrivateClass2 { + private; + nonPrivateFunction() { + } +} +protected; +class NonProtectedClass { + s() { + } +} +class NonProtectedClass2 { + protected; + nonProtectedFunction() { + } +} +class ClassWithThreeMembers { + public; + private; + protected; +} diff --git a/testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..823ac4ef14f --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).js.diff @@ -0,0 +1,38 @@ +--- old.asiPublicPrivateProtected(alwaysstrict=false).js ++++ new.asiPublicPrivateProtected(alwaysstrict=false).js +@@= skipped -42, +42 lines =@@ + + + //// [asiPublicPrivateProtected.js] ++"use strict"; + public; + class NonPublicClass { + s() { + } + } + class NonPublicClass2 { ++ public; + nonPublicFunction() { + } + } +@@= skipped -15, +17 lines =@@ + } + } + class NonPrivateClass2 { ++ private; + nonPrivateFunction() { + } + } +@@= skipped -9, +10 lines =@@ + } + } + class NonProtectedClass2 { ++ protected; + nonProtectedFunction() { + } + } + class ClassWithThreeMembers { ++ public; ++ private; ++ protected; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).symbols new file mode 100644 index 00000000000..546fbb63277 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).symbols @@ -0,0 +1,74 @@ +//// [tests/cases/compiler/asiPublicPrivateProtected.ts] //// + +=== asiPublicPrivateProtected.ts === +public +class NonPublicClass { +>NonPublicClass : Symbol(NonPublicClass, Decl(asiPublicPrivateProtected.ts, 0, 6)) + + public s() { +>s : Symbol(NonPublicClass.s, Decl(asiPublicPrivateProtected.ts, 1, 22)) + } +} + +class NonPublicClass2 { +>NonPublicClass2 : Symbol(NonPublicClass2, Decl(asiPublicPrivateProtected.ts, 4, 1)) + + public +>public : Symbol(NonPublicClass2.public, Decl(asiPublicPrivateProtected.ts, 6, 23)) + + private nonPublicFunction() { +>nonPublicFunction : Symbol(NonPublicClass2.nonPublicFunction, Decl(asiPublicPrivateProtected.ts, 7, 10)) + } +} +private +class NonPrivateClass { +>NonPrivateClass : Symbol(NonPrivateClass, Decl(asiPublicPrivateProtected.ts, 11, 7)) + + private s() { +>s : Symbol(NonPrivateClass.s, Decl(asiPublicPrivateProtected.ts, 12, 23)) + } +} + +class NonPrivateClass2 { +>NonPrivateClass2 : Symbol(NonPrivateClass2, Decl(asiPublicPrivateProtected.ts, 15, 1)) + + private +>private : Symbol(NonPrivateClass2.private, Decl(asiPublicPrivateProtected.ts, 17, 24)) + + public nonPrivateFunction() { +>nonPrivateFunction : Symbol(NonPrivateClass2.nonPrivateFunction, Decl(asiPublicPrivateProtected.ts, 18, 11)) + } +} +protected +class NonProtectedClass { +>NonProtectedClass : Symbol(NonProtectedClass, Decl(asiPublicPrivateProtected.ts, 22, 9)) + + protected s() { +>s : Symbol(NonProtectedClass.s, Decl(asiPublicPrivateProtected.ts, 23, 25)) + } +} + +class NonProtectedClass2 { +>NonProtectedClass2 : Symbol(NonProtectedClass2, Decl(asiPublicPrivateProtected.ts, 26, 1)) + + protected +>protected : Symbol(NonProtectedClass2.protected, Decl(asiPublicPrivateProtected.ts, 28, 26)) + + public nonProtectedFunction() { +>nonProtectedFunction : Symbol(NonProtectedClass2.nonProtectedFunction, Decl(asiPublicPrivateProtected.ts, 29, 13)) + } +} + +class ClassWithThreeMembers { +>ClassWithThreeMembers : Symbol(ClassWithThreeMembers, Decl(asiPublicPrivateProtected.ts, 32, 1)) + + public +>public : Symbol(ClassWithThreeMembers.public, Decl(asiPublicPrivateProtected.ts, 34, 29)) + + private +>private : Symbol(ClassWithThreeMembers.private, Decl(asiPublicPrivateProtected.ts, 35, 10)) + + protected +>protected : Symbol(ClassWithThreeMembers.protected, Decl(asiPublicPrivateProtected.ts, 36, 11)) +} + diff --git a/testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).types b/testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).types new file mode 100644 index 00000000000..98bbc633fcc --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/asiPublicPrivateProtected(alwaysstrict=false).types @@ -0,0 +1,80 @@ +//// [tests/cases/compiler/asiPublicPrivateProtected.ts] //// + +=== asiPublicPrivateProtected.ts === +public +>public : any + +class NonPublicClass { +>NonPublicClass : NonPublicClass + + public s() { +>s : () => void + } +} + +class NonPublicClass2 { +>NonPublicClass2 : NonPublicClass2 + + public +>public : any + + private nonPublicFunction() { +>nonPublicFunction : () => void + } +} +private +>private : any + +class NonPrivateClass { +>NonPrivateClass : NonPrivateClass + + private s() { +>s : () => void + } +} + +class NonPrivateClass2 { +>NonPrivateClass2 : NonPrivateClass2 + + private +>private : any + + public nonPrivateFunction() { +>nonPrivateFunction : () => void + } +} +protected +>protected : any + +class NonProtectedClass { +>NonProtectedClass : NonProtectedClass + + protected s() { +>s : () => void + } +} + +class NonProtectedClass2 { +>NonProtectedClass2 : NonProtectedClass2 + + protected +>protected : any + + public nonProtectedFunction() { +>nonProtectedFunction : () => void + } +} + +class ClassWithThreeMembers { +>ClassWithThreeMembers : ClassWithThreeMembers + + public +>public : any + + private +>private : any + + protected +>protected : any +} + diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).errors.txt b/testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).errors.txt new file mode 100644 index 00000000000..3093158ce7c --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).errors.txt @@ -0,0 +1,45 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +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(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. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== collisionArgumentsArrowFunctions.ts (8 errors) ==== + var f1 = (i: number, ...arguments) => { //arguments is error + ~~~~~~~~~ +!!! 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. + 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/testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).errors.txt.diff new file mode 100644 index 00000000000..5e892d96ba7 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).errors.txt.diff @@ -0,0 +1,49 @@ +--- old.collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).errors.txt ++++ new.collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++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(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. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== collisionArgumentsArrowFunctions.ts (8 errors) ==== ++ var f1 = (i: number, ...arguments) => { //arguments is error ++ ~~~~~~~~~ ++!!! 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. ++ 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/testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).js new file mode 100644 index 00000000000..11524f2d2d0 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).js @@ -0,0 +1,37 @@ +//// [tests/cases/compiler/collisionArgumentsArrowFunctions.ts] //// + +//// [collisionArgumentsArrowFunctions.ts] +var f1 = (i: number, ...arguments) => { //arguments is error + var arguments: any[]; // no error +} +var f12 = (arguments: number, ...rest) => { //arguments is error + var arguments = 10; // no error +} +var f1NoError = (arguments: number) => { // no error + var arguments = 10; // no error +} + +var f2 = (...restParameters) => { + var arguments = 10; // No Error +} +var f2NoError = () => { + var arguments = 10; // no error +} + +//// [collisionArgumentsArrowFunctions.js] +"use strict"; +var f1 = (i, ...arguments) => { + var arguments; // no error +}; +var f12 = (arguments, ...rest) => { + var arguments = 10; // no error +}; +var f1NoError = (arguments) => { + var arguments = 10; // no error +}; +var f2 = (...restParameters) => { + var arguments = 10; // No Error +}; +var f2NoError = () => { + var arguments = 10; // no error +}; diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).js.diff b/testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).js.diff new file mode 100644 index 00000000000..b25a3db355b --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).js.diff @@ -0,0 +1,10 @@ +--- old.collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).js ++++ new.collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).js +@@= skipped -18, +18 lines =@@ + } + + //// [collisionArgumentsArrowFunctions.js] ++"use strict"; + var f1 = (i, ...arguments) => { + var arguments; // no error + }; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).symbols b/testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).symbols new file mode 100644 index 00000000000..9c3e817607a --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).symbols @@ -0,0 +1,40 @@ +//// [tests/cases/compiler/collisionArgumentsArrowFunctions.ts] //// + +=== collisionArgumentsArrowFunctions.ts === +var f1 = (i: number, ...arguments) => { //arguments is error +>f1 : Symbol(f1, Decl(collisionArgumentsArrowFunctions.ts, 0, 3)) +>i : Symbol(i, Decl(collisionArgumentsArrowFunctions.ts, 0, 10)) +>arguments : Symbol(arguments, Decl(collisionArgumentsArrowFunctions.ts, 0, 20), Decl(collisionArgumentsArrowFunctions.ts, 1, 7)) + + var arguments: any[]; // no error +>arguments : Symbol(arguments, Decl(collisionArgumentsArrowFunctions.ts, 0, 20), Decl(collisionArgumentsArrowFunctions.ts, 1, 7)) +} +var f12 = (arguments: number, ...rest) => { //arguments is error +>f12 : Symbol(f12, Decl(collisionArgumentsArrowFunctions.ts, 3, 3)) +>arguments : Symbol(arguments, Decl(collisionArgumentsArrowFunctions.ts, 3, 11), Decl(collisionArgumentsArrowFunctions.ts, 4, 7)) +>rest : Symbol(rest, Decl(collisionArgumentsArrowFunctions.ts, 3, 29)) + + var arguments = 10; // no error +>arguments : Symbol(arguments, Decl(collisionArgumentsArrowFunctions.ts, 3, 11), Decl(collisionArgumentsArrowFunctions.ts, 4, 7)) +} +var f1NoError = (arguments: number) => { // no error +>f1NoError : Symbol(f1NoError, Decl(collisionArgumentsArrowFunctions.ts, 6, 3)) +>arguments : Symbol(arguments, Decl(collisionArgumentsArrowFunctions.ts, 6, 17), Decl(collisionArgumentsArrowFunctions.ts, 7, 7)) + + var arguments = 10; // no error +>arguments : Symbol(arguments, Decl(collisionArgumentsArrowFunctions.ts, 6, 17), Decl(collisionArgumentsArrowFunctions.ts, 7, 7)) +} + +var f2 = (...restParameters) => { +>f2 : Symbol(f2, Decl(collisionArgumentsArrowFunctions.ts, 10, 3)) +>restParameters : Symbol(restParameters, Decl(collisionArgumentsArrowFunctions.ts, 10, 10)) + + var arguments = 10; // No Error +>arguments : Symbol(arguments, Decl(collisionArgumentsArrowFunctions.ts, 11, 7)) +} +var f2NoError = () => { +>f2NoError : Symbol(f2NoError, Decl(collisionArgumentsArrowFunctions.ts, 13, 3)) + + var arguments = 10; // no error +>arguments : Symbol(arguments, Decl(collisionArgumentsArrowFunctions.ts, 14, 7)) +} diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).types b/testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).types new file mode 100644 index 00000000000..50c78a09c0a --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsArrowFunctions(alwaysstrict=false,target=es2015).types @@ -0,0 +1,49 @@ +//// [tests/cases/compiler/collisionArgumentsArrowFunctions.ts] //// + +=== collisionArgumentsArrowFunctions.ts === +var f1 = (i: number, ...arguments) => { //arguments is error +>f1 : (i: number, ...arguments: any[]) => void +>(i: number, ...arguments) => { //arguments is error var arguments: any[]; // no error} : (i: number, ...arguments: any[]) => void +>i : number +>arguments : any[] + + var arguments: any[]; // no error +>arguments : any[] +} +var f12 = (arguments: number, ...rest) => { //arguments is error +>f12 : (arguments: number, ...rest: any[]) => void +>(arguments: number, ...rest) => { //arguments is error var arguments = 10; // no error} : (arguments: number, ...rest: any[]) => void +>arguments : number +>rest : any[] + + var arguments = 10; // no error +>arguments : number +>10 : 10 +} +var f1NoError = (arguments: number) => { // no error +>f1NoError : (arguments: number) => void +>(arguments: number) => { // no error var arguments = 10; // no error} : (arguments: number) => void +>arguments : number + + var arguments = 10; // no error +>arguments : number +>10 : 10 +} + +var f2 = (...restParameters) => { +>f2 : (...restParameters: any[]) => void +>(...restParameters) => { var arguments = 10; // No Error} : (...restParameters: any[]) => void +>restParameters : any[] + + var arguments = 10; // No Error +>arguments : number +>10 : 10 +} +var f2NoError = () => { +>f2NoError : () => void +>() => { var arguments = 10; // no error} : () => void + + var arguments = 10; // no error +>arguments : number +>10 : 10 +} diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).errors.txt b/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).errors.txt new file mode 100644 index 00000000000..d6e3cf505c8 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).errors.txt @@ -0,0 +1,109 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +collisionArgumentsFunction.ts(2,13): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunction.ts(3,9): error TS1100: Invalid use of 'arguments' in strict mode. +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(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,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. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== collisionArgumentsFunction.ts (20 errors) ==== + // Functions + function f1(arguments: number, ...restParameters) { //arguments is 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 f12(i: number, ...arguments) { //arguments is error + ~~~~~~~~~ +!!! 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 + declare function f21(arguments: number, ...rest); // no error - no code gen + declare function f2NoError(arguments: number); // no error + + 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. + 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 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 + declare function f5(arguments: string, ...rest); // no codegen no error + declare function f52(i: number, ...arguments); // no codegen no error + declare function f52(i: string, ...arguments); // no codegen no error + declare function f6(arguments: number); // no codegen no error + declare function f6(arguments: string); // no codegen no error \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).errors.txt.diff new file mode 100644 index 00000000000..87df73cbd0c --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).errors.txt.diff @@ -0,0 +1,113 @@ +--- old.collisionArgumentsFunction(alwaysstrict=false,target=es2015).errors.txt ++++ new.collisionArgumentsFunction(alwaysstrict=false,target=es2015).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++collisionArgumentsFunction.ts(2,13): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsFunction.ts(3,9): error TS1100: Invalid use of 'arguments' in strict mode. ++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(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,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. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== collisionArgumentsFunction.ts (20 errors) ==== ++ // Functions ++ function f1(arguments: number, ...restParameters) { //arguments is 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 f12(i: number, ...arguments) { //arguments is error ++ ~~~~~~~~~ ++!!! 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 ++ declare function f21(arguments: number, ...rest); // no error - no code gen ++ declare function f2NoError(arguments: number); // no error ++ ++ 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. ++ 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 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 ++ declare function f5(arguments: string, ...rest); // no codegen no error ++ declare function f52(i: number, ...arguments); // no codegen no error ++ declare function f52(i: string, ...arguments); // no codegen no error ++ declare function f6(arguments: number); // no codegen no error ++ declare function f6(arguments: string); // no codegen no error \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).js new file mode 100644 index 00000000000..682a22ba966 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).js @@ -0,0 +1,75 @@ +//// [tests/cases/compiler/collisionArgumentsFunction.ts] //// + +//// [collisionArgumentsFunction.ts] +// Functions +function f1(arguments: number, ...restParameters) { //arguments is error + var arguments = 10; // no error +} +function f12(i: number, ...arguments) { //arguments is error + var arguments: any[]; // no error +} +function f1NoError(arguments: number) { // no error + var arguments = 10; // no error +} + +declare function f2(i: number, ...arguments); // no error - no code gen +declare function f21(arguments: number, ...rest); // no error - no code gen +declare function f2NoError(arguments: number); // no error + +function f3(...restParameters) { + var arguments = 10; // no error +} +function f3NoError() { + var arguments = 10; // no error +} + +function f4(arguments: number, ...rest); // no codegen no error +function f4(arguments: string, ...rest); // no codegen no error +function f4(arguments: any, ...rest) { // error + var arguments: any; // No error +} +function f42(i: number, ...arguments); // no codegen no error +function f42(i: string, ...arguments); // no codegen no error +function f42(i: any, ...arguments) { // error + var arguments: any[]; // No error +} +function f4NoError(arguments: number); // no error +function f4NoError(arguments: string); // no error +function f4NoError(arguments: any) { // no error + var arguments: any; // No error +} + +declare function f5(arguments: number, ...rest); // no codegen no error +declare function f5(arguments: string, ...rest); // no codegen no error +declare function f52(i: number, ...arguments); // no codegen no error +declare function f52(i: string, ...arguments); // no codegen no error +declare function f6(arguments: number); // no codegen no error +declare function f6(arguments: string); // no codegen no error + +//// [collisionArgumentsFunction.js] +"use strict"; +// Functions +function f1(arguments, ...restParameters) { + var arguments = 10; // no error +} +function f12(i, ...arguments) { + var arguments; // no error +} +function f1NoError(arguments) { + var arguments = 10; // no error +} +function f3(...restParameters) { + var arguments = 10; // no error +} +function f3NoError() { + var arguments = 10; // no error +} +function f4(arguments, ...rest) { + var arguments; // No error +} +function f42(i, ...arguments) { + var arguments; // No error +} +function f4NoError(arguments) { + var arguments; // No error +} diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).js.diff b/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).js.diff new file mode 100644 index 00000000000..2469e1ce8fe --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).js.diff @@ -0,0 +1,10 @@ +--- old.collisionArgumentsFunction(alwaysstrict=false,target=es2015).js ++++ new.collisionArgumentsFunction(alwaysstrict=false,target=es2015).js +@@= skipped -46, +46 lines =@@ + declare function f6(arguments: string); // no codegen no error + + //// [collisionArgumentsFunction.js] ++"use strict"; + // Functions + function f1(arguments, ...restParameters) { + var arguments = 10; // no error \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).symbols b/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).symbols new file mode 100644 index 00000000000..833fd4b0ded --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).symbols @@ -0,0 +1,136 @@ +//// [tests/cases/compiler/collisionArgumentsFunction.ts] //// + +=== collisionArgumentsFunction.ts === +// Functions +function f1(arguments: number, ...restParameters) { //arguments is error +>f1 : Symbol(f1, Decl(collisionArgumentsFunction.ts, 0, 0)) +>arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 1, 12), Decl(collisionArgumentsFunction.ts, 2, 7)) +>restParameters : Symbol(restParameters, Decl(collisionArgumentsFunction.ts, 1, 30)) + + var arguments = 10; // no error +>arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 1, 12), Decl(collisionArgumentsFunction.ts, 2, 7)) +} +function f12(i: number, ...arguments) { //arguments is error +>f12 : Symbol(f12, Decl(collisionArgumentsFunction.ts, 3, 1)) +>i : Symbol(i, Decl(collisionArgumentsFunction.ts, 4, 13)) +>arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 4, 23), Decl(collisionArgumentsFunction.ts, 5, 7)) + + var arguments: any[]; // no error +>arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 4, 23), Decl(collisionArgumentsFunction.ts, 5, 7)) +} +function f1NoError(arguments: number) { // no error +>f1NoError : Symbol(f1NoError, Decl(collisionArgumentsFunction.ts, 6, 1)) +>arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 7, 19), Decl(collisionArgumentsFunction.ts, 8, 7)) + + var arguments = 10; // no error +>arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 7, 19), Decl(collisionArgumentsFunction.ts, 8, 7)) +} + +declare function f2(i: number, ...arguments); // no error - no code gen +>f2 : Symbol(f2, Decl(collisionArgumentsFunction.ts, 9, 1)) +>i : Symbol(i, Decl(collisionArgumentsFunction.ts, 11, 20)) +>arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 11, 30)) + +declare function f21(arguments: number, ...rest); // no error - no code gen +>f21 : Symbol(f21, Decl(collisionArgumentsFunction.ts, 11, 45)) +>arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 12, 21)) +>rest : Symbol(rest, Decl(collisionArgumentsFunction.ts, 12, 39)) + +declare function f2NoError(arguments: number); // no error +>f2NoError : Symbol(f2NoError, Decl(collisionArgumentsFunction.ts, 12, 49)) +>arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 13, 27)) + +function f3(...restParameters) { +>f3 : Symbol(f3, Decl(collisionArgumentsFunction.ts, 13, 46)) +>restParameters : Symbol(restParameters, Decl(collisionArgumentsFunction.ts, 15, 12)) + + var arguments = 10; // no error +>arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 16, 7)) +} +function f3NoError() { +>f3NoError : Symbol(f3NoError, Decl(collisionArgumentsFunction.ts, 17, 1)) + + var arguments = 10; // no error +>arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 19, 7)) +} + +function f4(arguments: number, ...rest); // no codegen no error +>f4 : Symbol(f4, Decl(collisionArgumentsFunction.ts, 20, 1), Decl(collisionArgumentsFunction.ts, 22, 40), Decl(collisionArgumentsFunction.ts, 23, 40)) +>arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 22, 12)) +>rest : Symbol(rest, Decl(collisionArgumentsFunction.ts, 22, 30)) + +function f4(arguments: string, ...rest); // no codegen no error +>f4 : Symbol(f4, Decl(collisionArgumentsFunction.ts, 20, 1), Decl(collisionArgumentsFunction.ts, 22, 40), Decl(collisionArgumentsFunction.ts, 23, 40)) +>arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 23, 12)) +>rest : Symbol(rest, Decl(collisionArgumentsFunction.ts, 23, 30)) + +function f4(arguments: any, ...rest) { // error +>f4 : Symbol(f4, Decl(collisionArgumentsFunction.ts, 20, 1), Decl(collisionArgumentsFunction.ts, 22, 40), Decl(collisionArgumentsFunction.ts, 23, 40)) +>arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 24, 12), Decl(collisionArgumentsFunction.ts, 25, 7)) +>rest : Symbol(rest, Decl(collisionArgumentsFunction.ts, 24, 27)) + + var arguments: any; // No error +>arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 24, 12), Decl(collisionArgumentsFunction.ts, 25, 7)) +} +function f42(i: number, ...arguments); // no codegen no error +>f42 : Symbol(f42, Decl(collisionArgumentsFunction.ts, 26, 1), Decl(collisionArgumentsFunction.ts, 27, 38), Decl(collisionArgumentsFunction.ts, 28, 38)) +>i : Symbol(i, Decl(collisionArgumentsFunction.ts, 27, 13)) +>arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 27, 23)) + +function f42(i: string, ...arguments); // no codegen no error +>f42 : Symbol(f42, Decl(collisionArgumentsFunction.ts, 26, 1), Decl(collisionArgumentsFunction.ts, 27, 38), Decl(collisionArgumentsFunction.ts, 28, 38)) +>i : Symbol(i, Decl(collisionArgumentsFunction.ts, 28, 13)) +>arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 28, 23)) + +function f42(i: any, ...arguments) { // error +>f42 : Symbol(f42, Decl(collisionArgumentsFunction.ts, 26, 1), Decl(collisionArgumentsFunction.ts, 27, 38), Decl(collisionArgumentsFunction.ts, 28, 38)) +>i : Symbol(i, Decl(collisionArgumentsFunction.ts, 29, 13)) +>arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 29, 20), Decl(collisionArgumentsFunction.ts, 30, 7)) + + var arguments: any[]; // No error +>arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 29, 20), Decl(collisionArgumentsFunction.ts, 30, 7)) +} +function f4NoError(arguments: number); // no error +>f4NoError : Symbol(f4NoError, Decl(collisionArgumentsFunction.ts, 31, 1), Decl(collisionArgumentsFunction.ts, 32, 38), Decl(collisionArgumentsFunction.ts, 33, 38)) +>arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 32, 19)) + +function f4NoError(arguments: string); // no error +>f4NoError : Symbol(f4NoError, Decl(collisionArgumentsFunction.ts, 31, 1), Decl(collisionArgumentsFunction.ts, 32, 38), Decl(collisionArgumentsFunction.ts, 33, 38)) +>arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 33, 19)) + +function f4NoError(arguments: any) { // no error +>f4NoError : Symbol(f4NoError, Decl(collisionArgumentsFunction.ts, 31, 1), Decl(collisionArgumentsFunction.ts, 32, 38), Decl(collisionArgumentsFunction.ts, 33, 38)) +>arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 34, 19), Decl(collisionArgumentsFunction.ts, 35, 7)) + + var arguments: any; // No error +>arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 34, 19), Decl(collisionArgumentsFunction.ts, 35, 7)) +} + +declare function f5(arguments: number, ...rest); // no codegen no error +>f5 : Symbol(f5, Decl(collisionArgumentsFunction.ts, 36, 1), Decl(collisionArgumentsFunction.ts, 38, 48)) +>arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 38, 20)) +>rest : Symbol(rest, Decl(collisionArgumentsFunction.ts, 38, 38)) + +declare function f5(arguments: string, ...rest); // no codegen no error +>f5 : Symbol(f5, Decl(collisionArgumentsFunction.ts, 36, 1), Decl(collisionArgumentsFunction.ts, 38, 48)) +>arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 39, 20)) +>rest : Symbol(rest, Decl(collisionArgumentsFunction.ts, 39, 38)) + +declare function f52(i: number, ...arguments); // no codegen no error +>f52 : Symbol(f52, Decl(collisionArgumentsFunction.ts, 39, 48), Decl(collisionArgumentsFunction.ts, 40, 46)) +>i : Symbol(i, Decl(collisionArgumentsFunction.ts, 40, 21)) +>arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 40, 31)) + +declare function f52(i: string, ...arguments); // no codegen no error +>f52 : Symbol(f52, Decl(collisionArgumentsFunction.ts, 39, 48), Decl(collisionArgumentsFunction.ts, 40, 46)) +>i : Symbol(i, Decl(collisionArgumentsFunction.ts, 41, 21)) +>arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 41, 31)) + +declare function f6(arguments: number); // no codegen no error +>f6 : Symbol(f6, Decl(collisionArgumentsFunction.ts, 41, 46), Decl(collisionArgumentsFunction.ts, 42, 39)) +>arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 42, 20)) + +declare function f6(arguments: string); // no codegen no error +>f6 : Symbol(f6, Decl(collisionArgumentsFunction.ts, 41, 46), Decl(collisionArgumentsFunction.ts, 42, 39)) +>arguments : Symbol(arguments, Decl(collisionArgumentsFunction.ts, 43, 20)) + diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).types b/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).types new file mode 100644 index 00000000000..70684e55e04 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunction(alwaysstrict=false,target=es2015).types @@ -0,0 +1,140 @@ +//// [tests/cases/compiler/collisionArgumentsFunction.ts] //// + +=== collisionArgumentsFunction.ts === +// Functions +function f1(arguments: number, ...restParameters) { //arguments is error +>f1 : (arguments: number, ...restParameters: any[]) => void +>arguments : number +>restParameters : any[] + + var arguments = 10; // no error +>arguments : number +>10 : 10 +} +function f12(i: number, ...arguments) { //arguments is error +>f12 : (i: number, ...arguments: any[]) => void +>i : number +>arguments : any[] + + var arguments: any[]; // no error +>arguments : any[] +} +function f1NoError(arguments: number) { // no error +>f1NoError : (arguments: number) => void +>arguments : number + + var arguments = 10; // no error +>arguments : number +>10 : 10 +} + +declare function f2(i: number, ...arguments); // no error - no code gen +>f2 : (i: number, ...arguments: any[]) => any +>i : number +>arguments : any[] + +declare function f21(arguments: number, ...rest); // no error - no code gen +>f21 : (arguments: number, ...rest: any[]) => any +>arguments : number +>rest : any[] + +declare function f2NoError(arguments: number); // no error +>f2NoError : (arguments: number) => any +>arguments : number + +function f3(...restParameters) { +>f3 : (...restParameters: any[]) => void +>restParameters : any[] + + var arguments = 10; // no error +>arguments : number +>10 : 10 +} +function f3NoError() { +>f3NoError : () => void + + var arguments = 10; // no error +>arguments : number +>10 : 10 +} + +function f4(arguments: number, ...rest); // no codegen no error +>f4 : { (arguments: number, ...rest: any[]): any; (arguments: string, ...rest: any[]): any; } +>arguments : number +>rest : any[] + +function f4(arguments: string, ...rest); // no codegen no error +>f4 : { (arguments: number, ...rest: any[]): any; (arguments: string, ...rest: any[]): any; } +>arguments : string +>rest : any[] + +function f4(arguments: any, ...rest) { // error +>f4 : { (arguments: number, ...rest: any[]): any; (arguments: string, ...rest: any[]): any; } +>arguments : any +>rest : any[] + + var arguments: any; // No error +>arguments : any +} +function f42(i: number, ...arguments); // no codegen no error +>f42 : { (i: number, ...arguments: any[]): any; (i: string, ...arguments: any[]): any; } +>i : number +>arguments : any[] + +function f42(i: string, ...arguments); // no codegen no error +>f42 : { (i: number, ...arguments: any[]): any; (i: string, ...arguments: any[]): any; } +>i : string +>arguments : any[] + +function f42(i: any, ...arguments) { // error +>f42 : { (i: number, ...arguments: any[]): any; (i: string, ...arguments: any[]): any; } +>i : any +>arguments : any[] + + var arguments: any[]; // No error +>arguments : any[] +} +function f4NoError(arguments: number); // no error +>f4NoError : { (arguments: number): any; (arguments: string): any; } +>arguments : number + +function f4NoError(arguments: string); // no error +>f4NoError : { (arguments: number): any; (arguments: string): any; } +>arguments : string + +function f4NoError(arguments: any) { // no error +>f4NoError : { (arguments: number): any; (arguments: string): any; } +>arguments : any + + var arguments: any; // No error +>arguments : any +} + +declare function f5(arguments: number, ...rest); // no codegen no error +>f5 : { (arguments: number, ...rest: any[]): any; (arguments: string, ...rest: any[]): any; } +>arguments : number +>rest : any[] + +declare function f5(arguments: string, ...rest); // no codegen no error +>f5 : { (arguments: number, ...rest: any[]): any; (arguments: string, ...rest: any[]): any; } +>arguments : string +>rest : any[] + +declare function f52(i: number, ...arguments); // no codegen no error +>f52 : { (i: number, ...arguments: any[]): any; (i: string, ...arguments: any[]): any; } +>i : number +>arguments : any[] + +declare function f52(i: string, ...arguments); // no codegen no error +>f52 : { (i: number, ...arguments: any[]): any; (i: string, ...arguments: any[]): any; } +>i : string +>arguments : any[] + +declare function f6(arguments: number); // no codegen no error +>f6 : { (arguments: number): any; (arguments: string): any; } +>arguments : number + +declare function f6(arguments: string); // no codegen no error +>f6 : { (arguments: number): any; (arguments: string): any; } +>arguments : string + diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).errors.txt b/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).errors.txt new file mode 100644 index 00000000000..05a465dfd10 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).errors.txt @@ -0,0 +1,99 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +collisionArgumentsFunctionExpressions.ts(2,17): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunctionExpressions.ts(3,13): error TS1100: Invalid use of 'arguments' in strict mode. +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(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,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. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== collisionArgumentsFunctionExpressions.ts (20 errors) ==== + function foo() { + function f1(arguments: number, ...restParameters) { //arguments is 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 f12(i: number, ...arguments) { //arguments is error + ~~~~~~~~~ +!!! 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. + 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 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/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).errors.txt.diff new file mode 100644 index 00000000000..6ff659a3893 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).errors.txt.diff @@ -0,0 +1,103 @@ +--- old.collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).errors.txt ++++ new.collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++collisionArgumentsFunctionExpressions.ts(2,17): error TS1100: Invalid use of 'arguments' in strict mode. ++collisionArgumentsFunctionExpressions.ts(3,13): error TS1100: Invalid use of 'arguments' in strict mode. ++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(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,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. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== collisionArgumentsFunctionExpressions.ts (20 errors) ==== ++ function foo() { ++ function f1(arguments: number, ...restParameters) { //arguments is 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 f12(i: number, ...arguments) { //arguments is error ++ ~~~~~~~~~ ++!!! 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. ++ 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 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/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).js new file mode 100644 index 00000000000..56a002496f7 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).js @@ -0,0 +1,66 @@ +//// [tests/cases/compiler/collisionArgumentsFunctionExpressions.ts] //// + +//// [collisionArgumentsFunctionExpressions.ts] +function foo() { + function f1(arguments: number, ...restParameters) { //arguments is error + var arguments = 10; // no error + } + function f12(i: number, ...arguments) { //arguments is error + var arguments: any[]; // no error + } + function f1NoError(arguments: number) { // no error + var arguments = 10; // no error + } + + function f3(...restParameters) { + var arguments = 10; // no error + } + function f3NoError() { + var arguments = 10; // no error + } + + function f4(arguments: number, ...rest); // no codegen no error + function f4(arguments: string, ...rest); // no codegen no error + function f4(arguments: any, ...rest) { // error + var arguments: any; // No error + } + function f42(i: number, ...arguments); // no codegen no error + function f42(i: string, ...arguments); // no codegen no error + function f42(i: any, ...arguments) { // error + var arguments: any[]; // No error + } + function f4NoError(arguments: number); // no error + function f4NoError(arguments: string); // no error + function f4NoError(arguments: any) { // no error + var arguments: any; // No error + } +} + +//// [collisionArgumentsFunctionExpressions.js] +"use strict"; +function foo() { + function f1(arguments, ...restParameters) { + var arguments = 10; // no error + } + function f12(i, ...arguments) { + var arguments; // no error + } + function f1NoError(arguments) { + var arguments = 10; // no error + } + function f3(...restParameters) { + var arguments = 10; // no error + } + function f3NoError() { + var arguments = 10; // no error + } + function f4(arguments, ...rest) { + var arguments; // No error + } + function f42(i, ...arguments) { + var arguments; // No error + } + function f4NoError(arguments) { + var arguments; // No error + } +} diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).js.diff b/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).js.diff new file mode 100644 index 00000000000..daf847d9ed6 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).js.diff @@ -0,0 +1,10 @@ +--- old.collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).js ++++ new.collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).js +@@= skipped -36, +36 lines =@@ + } + + //// [collisionArgumentsFunctionExpressions.js] ++"use strict"; + function foo() { + function f1(arguments, ...restParameters) { + var arguments = 10; // no error \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).symbols b/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).symbols new file mode 100644 index 00000000000..6538436c61e --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).symbols @@ -0,0 +1,96 @@ +//// [tests/cases/compiler/collisionArgumentsFunctionExpressions.ts] //// + +=== collisionArgumentsFunctionExpressions.ts === +function foo() { +>foo : Symbol(foo, Decl(collisionArgumentsFunctionExpressions.ts, 0, 0)) + + function f1(arguments: number, ...restParameters) { //arguments is error +>f1 : Symbol(f1, Decl(collisionArgumentsFunctionExpressions.ts, 0, 16)) +>arguments : Symbol(arguments, Decl(collisionArgumentsFunctionExpressions.ts, 1, 16), Decl(collisionArgumentsFunctionExpressions.ts, 2, 11)) +>restParameters : Symbol(restParameters, Decl(collisionArgumentsFunctionExpressions.ts, 1, 34)) + + var arguments = 10; // no error +>arguments : Symbol(arguments, Decl(collisionArgumentsFunctionExpressions.ts, 1, 16), Decl(collisionArgumentsFunctionExpressions.ts, 2, 11)) + } + function f12(i: number, ...arguments) { //arguments is error +>f12 : Symbol(f12, Decl(collisionArgumentsFunctionExpressions.ts, 3, 5)) +>i : Symbol(i, Decl(collisionArgumentsFunctionExpressions.ts, 4, 17)) +>arguments : Symbol(arguments, Decl(collisionArgumentsFunctionExpressions.ts, 4, 27), Decl(collisionArgumentsFunctionExpressions.ts, 5, 11)) + + var arguments: any[]; // no error +>arguments : Symbol(arguments, Decl(collisionArgumentsFunctionExpressions.ts, 4, 27), Decl(collisionArgumentsFunctionExpressions.ts, 5, 11)) + } + function f1NoError(arguments: number) { // no error +>f1NoError : Symbol(f1NoError, Decl(collisionArgumentsFunctionExpressions.ts, 6, 5)) +>arguments : Symbol(arguments, Decl(collisionArgumentsFunctionExpressions.ts, 7, 23), Decl(collisionArgumentsFunctionExpressions.ts, 8, 11)) + + var arguments = 10; // no error +>arguments : Symbol(arguments, Decl(collisionArgumentsFunctionExpressions.ts, 7, 23), Decl(collisionArgumentsFunctionExpressions.ts, 8, 11)) + } + + function f3(...restParameters) { +>f3 : Symbol(f3, Decl(collisionArgumentsFunctionExpressions.ts, 9, 5)) +>restParameters : Symbol(restParameters, Decl(collisionArgumentsFunctionExpressions.ts, 11, 16)) + + var arguments = 10; // no error +>arguments : Symbol(arguments, Decl(collisionArgumentsFunctionExpressions.ts, 12, 11)) + } + function f3NoError() { +>f3NoError : Symbol(f3NoError, Decl(collisionArgumentsFunctionExpressions.ts, 13, 5)) + + var arguments = 10; // no error +>arguments : Symbol(arguments, Decl(collisionArgumentsFunctionExpressions.ts, 15, 11)) + } + + function f4(arguments: number, ...rest); // no codegen no error +>f4 : Symbol(f4, Decl(collisionArgumentsFunctionExpressions.ts, 16, 5), Decl(collisionArgumentsFunctionExpressions.ts, 18, 44), Decl(collisionArgumentsFunctionExpressions.ts, 19, 44)) +>arguments : Symbol(arguments, Decl(collisionArgumentsFunctionExpressions.ts, 18, 16)) +>rest : Symbol(rest, Decl(collisionArgumentsFunctionExpressions.ts, 18, 34)) + + function f4(arguments: string, ...rest); // no codegen no error +>f4 : Symbol(f4, Decl(collisionArgumentsFunctionExpressions.ts, 16, 5), Decl(collisionArgumentsFunctionExpressions.ts, 18, 44), Decl(collisionArgumentsFunctionExpressions.ts, 19, 44)) +>arguments : Symbol(arguments, Decl(collisionArgumentsFunctionExpressions.ts, 19, 16)) +>rest : Symbol(rest, Decl(collisionArgumentsFunctionExpressions.ts, 19, 34)) + + function f4(arguments: any, ...rest) { // error +>f4 : Symbol(f4, Decl(collisionArgumentsFunctionExpressions.ts, 16, 5), Decl(collisionArgumentsFunctionExpressions.ts, 18, 44), Decl(collisionArgumentsFunctionExpressions.ts, 19, 44)) +>arguments : Symbol(arguments, Decl(collisionArgumentsFunctionExpressions.ts, 20, 16), Decl(collisionArgumentsFunctionExpressions.ts, 21, 11)) +>rest : Symbol(rest, Decl(collisionArgumentsFunctionExpressions.ts, 20, 31)) + + var arguments: any; // No error +>arguments : Symbol(arguments, Decl(collisionArgumentsFunctionExpressions.ts, 20, 16), Decl(collisionArgumentsFunctionExpressions.ts, 21, 11)) + } + function f42(i: number, ...arguments); // no codegen no error +>f42 : Symbol(f42, Decl(collisionArgumentsFunctionExpressions.ts, 22, 5), Decl(collisionArgumentsFunctionExpressions.ts, 23, 42), Decl(collisionArgumentsFunctionExpressions.ts, 24, 42)) +>i : Symbol(i, Decl(collisionArgumentsFunctionExpressions.ts, 23, 17)) +>arguments : Symbol(arguments, Decl(collisionArgumentsFunctionExpressions.ts, 23, 27)) + + function f42(i: string, ...arguments); // no codegen no error +>f42 : Symbol(f42, Decl(collisionArgumentsFunctionExpressions.ts, 22, 5), Decl(collisionArgumentsFunctionExpressions.ts, 23, 42), Decl(collisionArgumentsFunctionExpressions.ts, 24, 42)) +>i : Symbol(i, Decl(collisionArgumentsFunctionExpressions.ts, 24, 17)) +>arguments : Symbol(arguments, Decl(collisionArgumentsFunctionExpressions.ts, 24, 27)) + + function f42(i: any, ...arguments) { // error +>f42 : Symbol(f42, Decl(collisionArgumentsFunctionExpressions.ts, 22, 5), Decl(collisionArgumentsFunctionExpressions.ts, 23, 42), Decl(collisionArgumentsFunctionExpressions.ts, 24, 42)) +>i : Symbol(i, Decl(collisionArgumentsFunctionExpressions.ts, 25, 17)) +>arguments : Symbol(arguments, Decl(collisionArgumentsFunctionExpressions.ts, 25, 24), Decl(collisionArgumentsFunctionExpressions.ts, 26, 11)) + + var arguments: any[]; // No error +>arguments : Symbol(arguments, Decl(collisionArgumentsFunctionExpressions.ts, 25, 24), Decl(collisionArgumentsFunctionExpressions.ts, 26, 11)) + } + function f4NoError(arguments: number); // no error +>f4NoError : Symbol(f4NoError, Decl(collisionArgumentsFunctionExpressions.ts, 27, 5), Decl(collisionArgumentsFunctionExpressions.ts, 28, 42), Decl(collisionArgumentsFunctionExpressions.ts, 29, 42)) +>arguments : Symbol(arguments, Decl(collisionArgumentsFunctionExpressions.ts, 28, 23)) + + function f4NoError(arguments: string); // no error +>f4NoError : Symbol(f4NoError, Decl(collisionArgumentsFunctionExpressions.ts, 27, 5), Decl(collisionArgumentsFunctionExpressions.ts, 28, 42), Decl(collisionArgumentsFunctionExpressions.ts, 29, 42)) +>arguments : Symbol(arguments, Decl(collisionArgumentsFunctionExpressions.ts, 29, 23)) + + function f4NoError(arguments: any) { // no error +>f4NoError : Symbol(f4NoError, Decl(collisionArgumentsFunctionExpressions.ts, 27, 5), Decl(collisionArgumentsFunctionExpressions.ts, 28, 42), Decl(collisionArgumentsFunctionExpressions.ts, 29, 42)) +>arguments : Symbol(arguments, Decl(collisionArgumentsFunctionExpressions.ts, 30, 23), Decl(collisionArgumentsFunctionExpressions.ts, 31, 11)) + + var arguments: any; // No error +>arguments : Symbol(arguments, Decl(collisionArgumentsFunctionExpressions.ts, 30, 23), Decl(collisionArgumentsFunctionExpressions.ts, 31, 11)) + } +} diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).types b/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).types new file mode 100644 index 00000000000..50ebb0a925b --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsFunctionExpressions(alwaysstrict=false,target=es2015).types @@ -0,0 +1,100 @@ +//// [tests/cases/compiler/collisionArgumentsFunctionExpressions.ts] //// + +=== collisionArgumentsFunctionExpressions.ts === +function foo() { +>foo : () => void + + function f1(arguments: number, ...restParameters) { //arguments is error +>f1 : (arguments: number, ...restParameters: any[]) => void +>arguments : number +>restParameters : any[] + + var arguments = 10; // no error +>arguments : number +>10 : 10 + } + function f12(i: number, ...arguments) { //arguments is error +>f12 : (i: number, ...arguments: any[]) => void +>i : number +>arguments : any[] + + var arguments: any[]; // no error +>arguments : any[] + } + function f1NoError(arguments: number) { // no error +>f1NoError : (arguments: number) => void +>arguments : number + + var arguments = 10; // no error +>arguments : number +>10 : 10 + } + + function f3(...restParameters) { +>f3 : (...restParameters: any[]) => void +>restParameters : any[] + + var arguments = 10; // no error +>arguments : number +>10 : 10 + } + function f3NoError() { +>f3NoError : () => void + + var arguments = 10; // no error +>arguments : number +>10 : 10 + } + + function f4(arguments: number, ...rest); // no codegen no error +>f4 : { (arguments: number, ...rest: any[]): any; (arguments: string, ...rest: any[]): any; } +>arguments : number +>rest : any[] + + function f4(arguments: string, ...rest); // no codegen no error +>f4 : { (arguments: number, ...rest: any[]): any; (arguments: string, ...rest: any[]): any; } +>arguments : string +>rest : any[] + + function f4(arguments: any, ...rest) { // error +>f4 : { (arguments: number, ...rest: any[]): any; (arguments: string, ...rest: any[]): any; } +>arguments : any +>rest : any[] + + var arguments: any; // No error +>arguments : any + } + function f42(i: number, ...arguments); // no codegen no error +>f42 : { (i: number, ...arguments: any[]): any; (i: string, ...arguments: any[]): any; } +>i : number +>arguments : any[] + + function f42(i: string, ...arguments); // no codegen no error +>f42 : { (i: number, ...arguments: any[]): any; (i: string, ...arguments: any[]): any; } +>i : string +>arguments : any[] + + function f42(i: any, ...arguments) { // error +>f42 : { (i: number, ...arguments: any[]): any; (i: string, ...arguments: any[]): any; } +>i : any +>arguments : any[] + + var arguments: any[]; // No error +>arguments : any[] + } + function f4NoError(arguments: number); // no error +>f4NoError : { (arguments: number): any; (arguments: string): any; } +>arguments : number + + function f4NoError(arguments: string); // no error +>f4NoError : { (arguments: number): any; (arguments: string): any; } +>arguments : string + + function f4NoError(arguments: any) { // no error +>f4NoError : { (arguments: number): any; (arguments: string): any; } +>arguments : any + + var arguments: any; // No error +>arguments : any + } +} diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..504df9cf58e --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).errors.txt @@ -0,0 +1,49 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +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. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== 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/testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..e2ccf8ff63d --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,53 @@ +--- old.collisionArgumentsInType(alwaysstrict=false).errors.txt ++++ new.collisionArgumentsInType(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++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. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== 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/testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).js b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).js new file mode 100644 index 00000000000..492c227633b --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).js @@ -0,0 +1,24 @@ +//// [tests/cases/compiler/collisionArgumentsInType.ts] //// + +//// [collisionArgumentsInType.ts] +var v1: (i: number, ...arguments) => void; // no error - no code gen +var v12: (arguments: number, ...restParameters) => void; // no error - no code gen +var v2: { + (arguments: number, ...restParameters); // no error - no code gen + new (arguments: number, ...restParameters); // no error - no code gen + foo(arguments: number, ...restParameters); // no error - no code gen + prop: (arguments: number, ...restParameters) => void; // no error - no code gen +} +var v21: { + (i: number, ...arguments); // no error - no code gen + new (i: number, ...arguments); // no error - no code gen + foo(i: number, ...arguments); // no error - no code gen + prop: (i: number, ...arguments) => void; // no error - no code gen +} + +//// [collisionArgumentsInType.js] +"use strict"; +var v1; // no error - no code gen +var v12; // no error - no code gen +var v2; +var v21; diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..29acb92f2b8 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).js.diff @@ -0,0 +1,10 @@ +--- old.collisionArgumentsInType(alwaysstrict=false).js ++++ new.collisionArgumentsInType(alwaysstrict=false).js +@@= skipped -16, +16 lines =@@ + } + + //// [collisionArgumentsInType.js] ++"use strict"; + var v1; // no error - no code gen + var v12; // no error - no code gen + var v2; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).symbols new file mode 100644 index 00000000000..1b614f0902a --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).symbols @@ -0,0 +1,55 @@ +//// [tests/cases/compiler/collisionArgumentsInType.ts] //// + +=== collisionArgumentsInType.ts === +var v1: (i: number, ...arguments) => void; // no error - no code gen +>v1 : Symbol(v1, Decl(collisionArgumentsInType.ts, 0, 3)) +>i : Symbol(i, Decl(collisionArgumentsInType.ts, 0, 9)) +>arguments : Symbol(arguments, Decl(collisionArgumentsInType.ts, 0, 19)) + +var v12: (arguments: number, ...restParameters) => void; // no error - no code gen +>v12 : Symbol(v12, Decl(collisionArgumentsInType.ts, 1, 3)) +>arguments : Symbol(arguments, Decl(collisionArgumentsInType.ts, 1, 10)) +>restParameters : Symbol(restParameters, Decl(collisionArgumentsInType.ts, 1, 28)) + +var v2: { +>v2 : Symbol(v2, Decl(collisionArgumentsInType.ts, 2, 3)) + + (arguments: number, ...restParameters); // no error - no code gen +>arguments : Symbol(arguments, Decl(collisionArgumentsInType.ts, 3, 5)) +>restParameters : Symbol(restParameters, Decl(collisionArgumentsInType.ts, 3, 23)) + + new (arguments: number, ...restParameters); // no error - no code gen +>arguments : Symbol(arguments, Decl(collisionArgumentsInType.ts, 4, 9)) +>restParameters : Symbol(restParameters, Decl(collisionArgumentsInType.ts, 4, 27)) + + foo(arguments: number, ...restParameters); // no error - no code gen +>foo : Symbol(foo, Decl(collisionArgumentsInType.ts, 4, 47)) +>arguments : Symbol(arguments, Decl(collisionArgumentsInType.ts, 5, 8)) +>restParameters : Symbol(restParameters, Decl(collisionArgumentsInType.ts, 5, 26)) + + prop: (arguments: number, ...restParameters) => void; // no error - no code gen +>prop : Symbol(prop, Decl(collisionArgumentsInType.ts, 5, 46)) +>arguments : Symbol(arguments, Decl(collisionArgumentsInType.ts, 6, 11)) +>restParameters : Symbol(restParameters, Decl(collisionArgumentsInType.ts, 6, 29)) +} +var v21: { +>v21 : Symbol(v21, Decl(collisionArgumentsInType.ts, 8, 3)) + + (i: number, ...arguments); // no error - no code gen +>i : Symbol(i, Decl(collisionArgumentsInType.ts, 9, 5)) +>arguments : Symbol(arguments, Decl(collisionArgumentsInType.ts, 9, 15)) + + new (i: number, ...arguments); // no error - no code gen +>i : Symbol(i, Decl(collisionArgumentsInType.ts, 10, 9)) +>arguments : Symbol(arguments, Decl(collisionArgumentsInType.ts, 10, 19)) + + foo(i: number, ...arguments); // no error - no code gen +>foo : Symbol(foo, Decl(collisionArgumentsInType.ts, 10, 34)) +>i : Symbol(i, Decl(collisionArgumentsInType.ts, 11, 8)) +>arguments : Symbol(arguments, Decl(collisionArgumentsInType.ts, 11, 18)) + + prop: (i: number, ...arguments) => void; // no error - no code gen +>prop : Symbol(prop, Decl(collisionArgumentsInType.ts, 11, 33)) +>i : Symbol(i, Decl(collisionArgumentsInType.ts, 12, 11)) +>arguments : Symbol(arguments, Decl(collisionArgumentsInType.ts, 12, 21)) +} diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).types b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).types new file mode 100644 index 00000000000..044a9cbf3cb --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).types @@ -0,0 +1,55 @@ +//// [tests/cases/compiler/collisionArgumentsInType.ts] //// + +=== collisionArgumentsInType.ts === +var v1: (i: number, ...arguments) => void; // no error - no code gen +>v1 : (i: number, ...arguments: any[]) => void +>i : number +>arguments : any[] + +var v12: (arguments: number, ...restParameters) => void; // no error - no code gen +>v12 : (arguments: number, ...restParameters: any[]) => void +>arguments : number +>restParameters : any[] + +var v2: { +>v2 : { (arguments: number, ...restParameters: any[]): any; new (arguments: number, ...restParameters: any[]): any; foo(arguments: number, ...restParameters: any[]): any; prop: (arguments: number, ...restParameters: any[]) => void; } + + (arguments: number, ...restParameters); // no error - no code gen +>arguments : number +>restParameters : any[] + + new (arguments: number, ...restParameters); // no error - no code gen +>arguments : number +>restParameters : any[] + + foo(arguments: number, ...restParameters); // no error - no code gen +>foo : (arguments: number, ...restParameters: any[]) => any +>arguments : number +>restParameters : any[] + + prop: (arguments: number, ...restParameters) => void; // no error - no code gen +>prop : (arguments: number, ...restParameters: any[]) => void +>arguments : number +>restParameters : any[] +} +var v21: { +>v21 : { (i: number, ...arguments: any[]): any; new (i: number, ...arguments: any[]): any; foo(i: number, ...arguments: any[]): any; prop: (i: number, ...arguments: any[]) => void; } + + (i: number, ...arguments); // no error - no code gen +>i : number +>arguments : any[] + + new (i: number, ...arguments); // no error - no code gen +>i : number +>arguments : any[] + + foo(i: number, ...arguments); // no error - no code gen +>foo : (i: number, ...arguments: any[]) => any +>i : number +>arguments : any[] + + prop: (i: number, ...arguments) => void; // no error - no code gen +>prop : (i: number, ...arguments: any[]) => void +>i : number +>arguments : any[] +} diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).types.diff b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).types.diff new file mode 100644 index 00000000000..cc4422260ef --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInType(alwaysstrict=false).types.diff @@ -0,0 +1,20 @@ +--- old.collisionArgumentsInType(alwaysstrict=false).types ++++ new.collisionArgumentsInType(alwaysstrict=false).types +@@= skipped -11, +11 lines =@@ + >restParameters : any[] + + var v2: { +->v2 : { (arguments: number, ...restParameters: any[]): any; new (arguments: number, ...restParameters: any[]): any; foo(arguments: number, ...restParameters: any[]): any; prop: (arguments: number, ...restParameters: any) => void; } ++>v2 : { (arguments: number, ...restParameters: any[]): any; new (arguments: number, ...restParameters: any[]): any; foo(arguments: number, ...restParameters: any[]): any; prop: (arguments: number, ...restParameters: any[]) => void; } + + (arguments: number, ...restParameters); // no error - no code gen + >arguments : number +@@= skipped -21, +21 lines =@@ + >restParameters : any[] + } + var v21: { +->v21 : { (i: number, ...arguments: any[]): any; new (i: number, ...arguments: any[]): any; foo(i: number, ...arguments: any[]): any; prop: (i: number, ...arguments: any) => void; } ++>v21 : { (i: number, ...arguments: any[]): any; new (i: number, ...arguments: any[]): any; foo(i: number, ...arguments: any[]): any; prop: (i: number, ...arguments: any[]) => void; } + + (i: number, ...arguments); // no error - no code gen + >i : number \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..063d6fc9741 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).errors.txt @@ -0,0 +1,60 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +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. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== 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/testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..172458f009c --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,64 @@ +--- old.collisionArgumentsInterfaceMembers(alwaysstrict=false).errors.txt ++++ new.collisionArgumentsInterfaceMembers(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++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. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== 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/testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).js b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).js new file mode 100644 index 00000000000..9ad7c0a9992 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).js @@ -0,0 +1,34 @@ +//// [tests/cases/compiler/collisionArgumentsInterfaceMembers.ts] //// + +//// [collisionArgumentsInterfaceMembers.ts] +// call +interface i1 { + (i: number, ...arguments); // no error - no code gen +} +interface i12 { + (arguments: number, ...rest); // no error - no code gen +} +interface i1NoError { + (arguments: number); // no error +} + +// new +interface i2 { + new (i: number, ...arguments); // no error - no code gen +} +interface i21 { + new (arguments: number, ...rest); // no error - no code gen +} +interface i2NoError { + new (arguments: number); // no error +} + +// method +interface i3 { + foo(i: number, ...arguments); // no error - no code gen + foo1(arguments: number, ...rest); // no error - no code gen + fooNoError(arguments: number); // no error +} + +//// [collisionArgumentsInterfaceMembers.js] +"use strict"; diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..91f4880f990 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).js.diff @@ -0,0 +1,7 @@ +--- old.collisionArgumentsInterfaceMembers(alwaysstrict=false).js ++++ new.collisionArgumentsInterfaceMembers(alwaysstrict=false).js +@@= skipped -30, +30 lines =@@ + } + + //// [collisionArgumentsInterfaceMembers.js] ++"use strict"; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).symbols new file mode 100644 index 00000000000..890a134c925 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).symbols @@ -0,0 +1,65 @@ +//// [tests/cases/compiler/collisionArgumentsInterfaceMembers.ts] //// + +=== collisionArgumentsInterfaceMembers.ts === +// call +interface i1 { +>i1 : Symbol(i1, Decl(collisionArgumentsInterfaceMembers.ts, 0, 0)) + + (i: number, ...arguments); // no error - no code gen +>i : Symbol(i, Decl(collisionArgumentsInterfaceMembers.ts, 2, 5)) +>arguments : Symbol(arguments, Decl(collisionArgumentsInterfaceMembers.ts, 2, 15)) +} +interface i12 { +>i12 : Symbol(i12, Decl(collisionArgumentsInterfaceMembers.ts, 3, 1)) + + (arguments: number, ...rest); // no error - no code gen +>arguments : Symbol(arguments, Decl(collisionArgumentsInterfaceMembers.ts, 5, 5)) +>rest : Symbol(rest, Decl(collisionArgumentsInterfaceMembers.ts, 5, 23)) +} +interface i1NoError { +>i1NoError : Symbol(i1NoError, Decl(collisionArgumentsInterfaceMembers.ts, 6, 1)) + + (arguments: number); // no error +>arguments : Symbol(arguments, Decl(collisionArgumentsInterfaceMembers.ts, 8, 5)) +} + +// new +interface i2 { +>i2 : Symbol(i2, Decl(collisionArgumentsInterfaceMembers.ts, 9, 1)) + + new (i: number, ...arguments); // no error - no code gen +>i : Symbol(i, Decl(collisionArgumentsInterfaceMembers.ts, 13, 9)) +>arguments : Symbol(arguments, Decl(collisionArgumentsInterfaceMembers.ts, 13, 19)) +} +interface i21 { +>i21 : Symbol(i21, Decl(collisionArgumentsInterfaceMembers.ts, 14, 1)) + + new (arguments: number, ...rest); // no error - no code gen +>arguments : Symbol(arguments, Decl(collisionArgumentsInterfaceMembers.ts, 16, 9)) +>rest : Symbol(rest, Decl(collisionArgumentsInterfaceMembers.ts, 16, 27)) +} +interface i2NoError { +>i2NoError : Symbol(i2NoError, Decl(collisionArgumentsInterfaceMembers.ts, 17, 1)) + + new (arguments: number); // no error +>arguments : Symbol(arguments, Decl(collisionArgumentsInterfaceMembers.ts, 19, 9)) +} + +// method +interface i3 { +>i3 : Symbol(i3, Decl(collisionArgumentsInterfaceMembers.ts, 20, 1)) + + foo(i: number, ...arguments); // no error - no code gen +>foo : Symbol(i3.foo, Decl(collisionArgumentsInterfaceMembers.ts, 23, 14)) +>i : Symbol(i, Decl(collisionArgumentsInterfaceMembers.ts, 24, 8)) +>arguments : Symbol(arguments, Decl(collisionArgumentsInterfaceMembers.ts, 24, 18)) + + foo1(arguments: number, ...rest); // no error - no code gen +>foo1 : Symbol(i3.foo1, Decl(collisionArgumentsInterfaceMembers.ts, 24, 33)) +>arguments : Symbol(arguments, Decl(collisionArgumentsInterfaceMembers.ts, 25, 9)) +>rest : Symbol(rest, Decl(collisionArgumentsInterfaceMembers.ts, 25, 27)) + + fooNoError(arguments: number); // no error +>fooNoError : Symbol(i3.fooNoError, Decl(collisionArgumentsInterfaceMembers.ts, 25, 37)) +>arguments : Symbol(arguments, Decl(collisionArgumentsInterfaceMembers.ts, 26, 15)) +} diff --git a/testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).types b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).types new file mode 100644 index 00000000000..bdb5aef1f7b --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/collisionArgumentsInterfaceMembers(alwaysstrict=false).types @@ -0,0 +1,51 @@ +//// [tests/cases/compiler/collisionArgumentsInterfaceMembers.ts] //// + +=== collisionArgumentsInterfaceMembers.ts === +// call +interface i1 { + (i: number, ...arguments); // no error - no code gen +>i : number +>arguments : any[] +} +interface i12 { + (arguments: number, ...rest); // no error - no code gen +>arguments : number +>rest : any[] +} +interface i1NoError { + (arguments: number); // no error +>arguments : number +} + +// new +interface i2 { + new (i: number, ...arguments); // no error - no code gen +>i : number +>arguments : any[] +} +interface i21 { + new (arguments: number, ...rest); // no error - no code gen +>arguments : number +>rest : any[] +} +interface i2NoError { + new (arguments: number); // no error +>arguments : number +} + +// method +interface i3 { + foo(i: number, ...arguments); // no error - no code gen +>foo : (i: number, ...arguments: any[]) => any +>i : number +>arguments : any[] + + foo1(arguments: number, ...rest); // no error - no code gen +>foo1 : (arguments: number, ...rest: any[]) => any +>arguments : number +>rest : any[] + + fooNoError(arguments: number); // no error +>fooNoError : (arguments: number) => any +>arguments : number +} diff --git a/testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..8294cd064e6 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).errors.txt @@ -0,0 +1,73 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +constDeclarations-invalidContexts.ts(3,5): error TS1156: 'const' declarations can only be declared inside a block. +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. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== constDeclarations-invalidContexts.ts (12 errors) ==== + // Errors, const must be defined inside a block + if (true) + const c1 = 0; + ~~~~~~~~~~~~~ +!!! error TS1156: 'const' declarations can only be declared inside a block. + else + const c2 = 0; + ~~~~~~~~~~~~~ +!!! error TS1156: 'const' declarations can only be declared inside a block. + + while (true) + const c3 = 0; + ~~~~~~~~~~~~~ +!!! error TS1156: 'const' declarations can only be declared inside a block. + + do + const c4 = 0; + ~~~~~~~~~~~~~ +!!! error TS1156: 'const' declarations can only be declared inside a block. + while (true); + + 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 + + for (var i = 0; i < 10; i++) + const c6 = 0; + ~~~~~~~~~~~~~ +!!! error TS1156: 'const' declarations can only be declared inside a block. + + for (var i2 in {}) + const c7 = 0; + ~~~~~~~~~~~~~ +!!! error TS1156: 'const' declarations can only be declared inside a block. + + 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. + + + + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..0190210e105 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,49 @@ +--- old.constDeclarations-invalidContexts(alwaysstrict=false).errors.txt ++++ new.constDeclarations-invalidContexts(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. + constDeclarations-invalidContexts.ts(3,5): error TS1156: 'const' declarations can only be declared inside a block. + 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) ==== ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== constDeclarations-invalidContexts.ts (12 errors) ==== + // Errors, const must be defined inside a block + if (true) + const c1 = 0; +@@= skipped -32, +37 lines =@@ + + 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 +@@= skipped -16, +18 lines =@@ + + 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. + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).js b/testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).js new file mode 100644 index 00000000000..85107959936 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).js @@ -0,0 +1,59 @@ +//// [tests/cases/compiler/constDeclarations-invalidContexts.ts] //// + +//// [constDeclarations-invalidContexts.ts] +// Errors, const must be defined inside a block +if (true) + const c1 = 0; +else + const c2 = 0; + +while (true) + const c3 = 0; + +do + const c4 = 0; +while (true); + +var obj; +with (obj) + const c5 = 0; // No Error will be reported here since we turn off all type checking + +for (var i = 0; i < 10; i++) + const c6 = 0; + +for (var i2 in {}) + const c7 = 0; + +if (true) + label: const c8 = 0; + +while (false) + label2: label3: label4: const c9 = 0; + + + + + +//// [constDeclarations-invalidContexts.js] +"use strict"; +// Errors, const must be defined inside a block +if (true) + const c1 = 0; +else + const c2 = 0; +while (true) + const c3 = 0; +do + const c4 = 0; +while (true); +var obj; +with (obj) + const c5 = 0; // No Error will be reported here since we turn off all type checking +for (var i = 0; i < 10; i++) + const c6 = 0; +for (var i2 in {}) + const c7 = 0; +if (true) + label: const c8 = 0; +while (false) + label2: label3: label4: const c9 = 0; diff --git a/testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..d933745019d --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).js.diff @@ -0,0 +1,10 @@ +--- old.constDeclarations-invalidContexts(alwaysstrict=false).js ++++ new.constDeclarations-invalidContexts(alwaysstrict=false).js +@@= skipped -34, +34 lines =@@ + + + //// [constDeclarations-invalidContexts.js] ++"use strict"; + // Errors, const must be defined inside a block + if (true) + const c1 = 0; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).symbols new file mode 100644 index 00000000000..f85a1f2738d --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).symbols @@ -0,0 +1,55 @@ +//// [tests/cases/compiler/constDeclarations-invalidContexts.ts] //// + +=== constDeclarations-invalidContexts.ts === +// Errors, const must be defined inside a block +if (true) + const c1 = 0; +>c1 : Symbol(c1, Decl(constDeclarations-invalidContexts.ts, 2, 9)) + +else + const c2 = 0; +>c2 : Symbol(c2, Decl(constDeclarations-invalidContexts.ts, 4, 9)) + +while (true) + const c3 = 0; +>c3 : Symbol(c3, Decl(constDeclarations-invalidContexts.ts, 7, 9)) + +do + const c4 = 0; +>c4 : Symbol(c4, Decl(constDeclarations-invalidContexts.ts, 10, 9)) + +while (true); + +var obj; +>obj : Symbol(obj, Decl(constDeclarations-invalidContexts.ts, 13, 3)) + +with (obj) +>obj : Symbol(obj, Decl(constDeclarations-invalidContexts.ts, 13, 3)) + + const c5 = 0; // No Error will be reported here since we turn off all type checking + +for (var i = 0; i < 10; i++) +>i : Symbol(i, Decl(constDeclarations-invalidContexts.ts, 17, 8)) +>i : Symbol(i, Decl(constDeclarations-invalidContexts.ts, 17, 8)) +>i : Symbol(i, Decl(constDeclarations-invalidContexts.ts, 17, 8)) + + const c6 = 0; +>c6 : Symbol(c6, Decl(constDeclarations-invalidContexts.ts, 18, 9)) + +for (var i2 in {}) +>i2 : Symbol(i2, Decl(constDeclarations-invalidContexts.ts, 20, 8)) + + const c7 = 0; +>c7 : Symbol(c7, Decl(constDeclarations-invalidContexts.ts, 21, 9)) + +if (true) + label: const c8 = 0; +>c8 : Symbol(c8, Decl(constDeclarations-invalidContexts.ts, 24, 16)) + +while (false) + label2: label3: label4: const c9 = 0; +>c9 : Symbol(c9, Decl(constDeclarations-invalidContexts.ts, 27, 33)) + + + + diff --git a/testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).types b/testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).types new file mode 100644 index 00000000000..8dd6956b22f --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/constDeclarations-invalidContexts(alwaysstrict=false).types @@ -0,0 +1,83 @@ +//// [tests/cases/compiler/constDeclarations-invalidContexts.ts] //// + +=== constDeclarations-invalidContexts.ts === +// Errors, const must be defined inside a block +if (true) +>true : true + + const c1 = 0; +>c1 : 0 +>0 : 0 + +else + const c2 = 0; +>c2 : 0 +>0 : 0 + +while (true) +>true : true + + const c3 = 0; +>c3 : 0 +>0 : 0 + +do + const c4 = 0; +>c4 : 0 +>0 : 0 + +while (true); +>true : true + +var obj; +>obj : any + +with (obj) +>obj : any + + const c5 = 0; // No Error will be reported here since we turn off all type checking +>c5 : any +>0 : any + +for (var i = 0; i < 10; i++) +>i : number +>0 : 0 +>i < 10 : boolean +>i : number +>10 : 10 +>i++ : number +>i : number + + const c6 = 0; +>c6 : 0 +>0 : 0 + +for (var i2 in {}) +>i2 : string +>{} : {} + + const c7 = 0; +>c7 : 0 +>0 : 0 + +if (true) +>true : true + + label: const c8 = 0; +>label : any +>c8 : 0 +>0 : 0 + +while (false) +>false : false + + label2: label3: label4: const c9 = 0; +>label2 : any +>label3 : any +>label4 : any +>c9 : 0 +>0 : 0 + + + + diff --git a/testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..0899be18e4b --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).errors.txt @@ -0,0 +1,163 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +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. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== constDeclarations-scopes.ts (4 errors) ==== + // global + const c = "string"; + + var n: number; + + // Control flow statements with blocks + if (true) { + const c = 0; + n = c; + } + else { + const c = 0; + n = c; + } + + while (true) { + const c = 0; + n = c; + } + + do { + const c = 0; + n = c; + } while (true); + + 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; + n = c; + } + + for (var i = 0; i < 10; i++) { + const c = 0; + n = c; + } + + for (var i2 in {}) { + const c = 0; + n = c; + } + + 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; + } + + // Try/catch/finally + try { + const c = 0; + n = c; + } + catch (e) { + const c = 0; + n = c; + } + finally { + const c = 0; + n = c; + } + + // Switch + switch (0) { + case 0: + const c = 0; + n = c; + break; + } + + // blocks + { + const c = 0; + n = c; + { + const c = false; + var b: boolean = c; + } + } + + // functions + + function F() { + const c = 0; + n = c; + } + + var F2 = () => { + const c = 0; + n = c; + }; + + var F3 = function () { + const c = 0; + n = c; + }; + + // modules + namespace m { + const c = 0; + n = c; + + { + const c = false; + var b2: boolean = c; + } + } + + // methods + class C { + constructor() { + const c = 0; + n = c; + } + + method() { + const c = 0; + n = c; + } + + get v() { + const c = 0; + n = c; + return n; + } + + set v(value) { + const c = 0; + n = c; + } + } + + // object literals + var o = { + f() { + const c = 0; + n = c; + }, + f2: () => { + const c = 0; + n = c; + } + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..55144ee27c5 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,43 @@ +--- old.constDeclarations-scopes(alwaysstrict=false).errors.txt ++++ new.constDeclarations-scopes(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++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 (1 errors) ==== ++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. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== constDeclarations-scopes.ts (4 errors) ==== + // global + const c = "string"; + +@@= skipped -28, +33 lines =@@ + + 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; +@@= skipped -18, +20 lines =@@ + + 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; + } + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).js b/testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).js new file mode 100644 index 00000000000..0bf8f857d77 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).js @@ -0,0 +1,276 @@ +//// [tests/cases/compiler/constDeclarations-scopes.ts] //// + +//// [constDeclarations-scopes.ts] +// global +const c = "string"; + +var n: number; + +// Control flow statements with blocks +if (true) { + const c = 0; + n = c; +} +else { + const c = 0; + n = c; +} + +while (true) { + const c = 0; + n = c; +} + +do { + const c = 0; + n = c; +} while (true); + +var obj; +with (obj) { + const c = 0; + n = c; +} + +for (var i = 0; i < 10; i++) { + const c = 0; + n = c; +} + +for (var i2 in {}) { + const c = 0; + n = c; +} + +if (true) { + label: const c = 0; + n = c; +} + +while (false) { + label2: label3: label4: const c = 0; + n = c; +} + +// Try/catch/finally +try { + const c = 0; + n = c; +} +catch (e) { + const c = 0; + n = c; +} +finally { + const c = 0; + n = c; +} + +// Switch +switch (0) { + case 0: + const c = 0; + n = c; + break; +} + +// blocks +{ + const c = 0; + n = c; + { + const c = false; + var b: boolean = c; + } +} + +// functions + +function F() { + const c = 0; + n = c; +} + +var F2 = () => { + const c = 0; + n = c; +}; + +var F3 = function () { + const c = 0; + n = c; +}; + +// modules +namespace m { + const c = 0; + n = c; + + { + const c = false; + var b2: boolean = c; + } +} + +// methods +class C { + constructor() { + const c = 0; + n = c; + } + + method() { + const c = 0; + n = c; + } + + get v() { + const c = 0; + n = c; + return n; + } + + set v(value) { + const c = 0; + n = c; + } +} + +// object literals +var o = { + f() { + const c = 0; + n = c; + }, + f2: () => { + const c = 0; + n = c; + } +} + +//// [constDeclarations-scopes.js] +"use strict"; +// global +const c = "string"; +var n; +// Control flow statements with blocks +if (true) { + const c = 0; + n = c; +} +else { + const c = 0; + n = c; +} +while (true) { + const c = 0; + n = c; +} +do { + const c = 0; + n = c; +} while (true); +var obj; +with (obj) { + const c = 0; + n = c; +} +for (var i = 0; i < 10; i++) { + const c = 0; + n = c; +} +for (var i2 in {}) { + const c = 0; + n = c; +} +if (true) { + label: const c = 0; + n = c; +} +while (false) { + label2: label3: label4: const c = 0; + n = c; +} +// Try/catch/finally +try { + const c = 0; + n = c; +} +catch (e) { + const c = 0; + n = c; +} +finally { + const c = 0; + n = c; +} +// Switch +switch (0) { + case 0: + const c = 0; + n = c; + break; +} +// blocks +{ + const c = 0; + n = c; + { + const c = false; + var b = c; + } +} +// functions +function F() { + const c = 0; + n = c; +} +var F2 = () => { + const c = 0; + n = c; +}; +var F3 = function () { + const c = 0; + n = c; +}; +// modules +var m; +(function (m) { + const c = 0; + n = c; + { + const c = false; + var b2 = c; + } +})(m || (m = {})); +// methods +class C { + constructor() { + const c = 0; + n = c; + } + method() { + const c = 0; + n = c; + } + get v() { + const c = 0; + n = c; + return n; + } + set v(value) { + const c = 0; + n = c; + } +} +// object literals +var o = { + f() { + const c = 0; + n = c; + }, + f2: () => { + const c = 0; + n = c; + } +}; diff --git a/testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..26b3720728f --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).js.diff @@ -0,0 +1,10 @@ +--- old.constDeclarations-scopes(alwaysstrict=false).js ++++ new.constDeclarations-scopes(alwaysstrict=false).js +@@= skipped -148, +148 lines =@@ + } + + //// [constDeclarations-scopes.js] ++"use strict"; + // global + const c = "string"; + var n; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).symbols new file mode 100644 index 00000000000..6093e1a4ada --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).symbols @@ -0,0 +1,293 @@ +//// [tests/cases/compiler/constDeclarations-scopes.ts] //// + +=== constDeclarations-scopes.ts === +// global +const c = "string"; +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 1, 5)) + +var n: number; +>n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) + +// Control flow statements with blocks +if (true) { + const c = 0; +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 7, 9)) + + n = c; +>n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 7, 9)) +} +else { + const c = 0; +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 11, 9)) + + n = c; +>n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 11, 9)) +} + +while (true) { + const c = 0; +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 16, 9)) + + n = c; +>n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 16, 9)) +} + +do { + const c = 0; +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 21, 8)) + + n = c; +>n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 21, 8)) + +} while (true); + +var obj; +>obj : Symbol(obj, Decl(constDeclarations-scopes.ts, 25, 3)) + +with (obj) { +>obj : Symbol(obj, Decl(constDeclarations-scopes.ts, 25, 3)) + + const c = 0; + n = c; +} + +for (var i = 0; i < 10; i++) { +>i : Symbol(i, Decl(constDeclarations-scopes.ts, 31, 8)) +>i : Symbol(i, Decl(constDeclarations-scopes.ts, 31, 8)) +>i : Symbol(i, Decl(constDeclarations-scopes.ts, 31, 8)) + + const c = 0; +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 32, 9)) + + n = c; +>n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 32, 9)) +} + +for (var i2 in {}) { +>i2 : Symbol(i2, Decl(constDeclarations-scopes.ts, 36, 8)) + + const c = 0; +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 37, 9)) + + n = c; +>n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 37, 9)) +} + +if (true) { + label: const c = 0; +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 42, 16)) + + n = c; +>n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 42, 16)) +} + +while (false) { + label2: label3: label4: const c = 0; +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 47, 33)) + + n = c; +>n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 47, 33)) +} + +// Try/catch/finally +try { + const c = 0; +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 53, 9)) + + n = c; +>n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 53, 9)) +} +catch (e) { +>e : Symbol(e, Decl(constDeclarations-scopes.ts, 56, 7)) + + const c = 0; +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 57, 9)) + + n = c; +>n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 57, 9)) +} +finally { + const c = 0; +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 61, 9)) + + n = c; +>n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 61, 9)) +} + +// Switch +switch (0) { + case 0: + const c = 0; +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 68, 13)) + + n = c; +>n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 68, 13)) + + break; +} + +// blocks +{ + const c = 0; +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 75, 9)) + + n = c; +>n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 75, 9)) + { + const c = false; +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 78, 13)) + + var b: boolean = c; +>b : Symbol(b, Decl(constDeclarations-scopes.ts, 79, 11)) +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 78, 13)) + } +} + +// functions + +function F() { +>F : Symbol(F, Decl(constDeclarations-scopes.ts, 81, 1)) + + const c = 0; +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 86, 9)) + + n = c; +>n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 86, 9)) +} + +var F2 = () => { +>F2 : Symbol(F2, Decl(constDeclarations-scopes.ts, 90, 3)) + + const c = 0; +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 91, 9)) + + n = c; +>n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 91, 9)) + +}; + +var F3 = function () { +>F3 : Symbol(F3, Decl(constDeclarations-scopes.ts, 95, 3)) + + const c = 0; +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 96, 9)) + + n = c; +>n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 96, 9)) + +}; + +// modules +namespace m { +>m : Symbol(m, Decl(constDeclarations-scopes.ts, 98, 2)) + + const c = 0; +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 102, 9)) + + n = c; +>n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 102, 9)) + + { + const c = false; +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 106, 12)) + + var b2: boolean = c; +>b2 : Symbol(b2, Decl(constDeclarations-scopes.ts, 107, 10)) +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 106, 12)) + } +} + +// methods +class C { +>C : Symbol(C, Decl(constDeclarations-scopes.ts, 109, 1)) + + constructor() { + const c = 0; +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 114, 13)) + + n = c; +>n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 114, 13)) + } + + method() { +>method : Symbol(C.method, Decl(constDeclarations-scopes.ts, 116, 5)) + + const c = 0; +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 119, 13)) + + n = c; +>n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 119, 13)) + } + + get v() { +>v : Symbol(C.v, Decl(constDeclarations-scopes.ts, 121, 5), Decl(constDeclarations-scopes.ts, 127, 5)) + + const c = 0; +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 124, 13)) + + n = c; +>n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 124, 13)) + + return n; +>n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) + } + + set v(value) { +>v : Symbol(C.v, Decl(constDeclarations-scopes.ts, 121, 5), Decl(constDeclarations-scopes.ts, 127, 5)) +>value : Symbol(value, Decl(constDeclarations-scopes.ts, 129, 10)) + + const c = 0; +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 130, 13)) + + n = c; +>n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 130, 13)) + } +} + +// object literals +var o = { +>o : Symbol(o, Decl(constDeclarations-scopes.ts, 136, 3)) + + f() { +>f : Symbol(f, Decl(constDeclarations-scopes.ts, 136, 9)) + + const c = 0; +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 138, 13)) + + n = c; +>n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 138, 13)) + + }, + f2: () => { +>f2 : Symbol(f2, Decl(constDeclarations-scopes.ts, 140, 6)) + + const c = 0; +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 142, 13)) + + n = c; +>n : Symbol(n, Decl(constDeclarations-scopes.ts, 3, 3)) +>c : Symbol(c, Decl(constDeclarations-scopes.ts, 142, 13)) + } +} diff --git a/testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).types b/testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).types new file mode 100644 index 00000000000..7e4bad649d5 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/constDeclarations-scopes(alwaysstrict=false).types @@ -0,0 +1,374 @@ +//// [tests/cases/compiler/constDeclarations-scopes.ts] //// + +=== constDeclarations-scopes.ts === +// global +const c = "string"; +>c : "string" +>"string" : "string" + +var n: number; +>n : number + +// Control flow statements with blocks +if (true) { +>true : true + + const c = 0; +>c : 0 +>0 : 0 + + n = c; +>n = c : 0 +>n : number +>c : 0 +} +else { + const c = 0; +>c : 0 +>0 : 0 + + n = c; +>n = c : 0 +>n : number +>c : 0 +} + +while (true) { +>true : true + + const c = 0; +>c : 0 +>0 : 0 + + n = c; +>n = c : 0 +>n : number +>c : 0 +} + +do { + const c = 0; +>c : 0 +>0 : 0 + + n = c; +>n = c : 0 +>n : number +>c : 0 + +} while (true); +>true : true + +var obj; +>obj : any + +with (obj) { +>obj : any + + const c = 0; +>c : any +>0 : any + + n = c; +>n = c : any +>n : any +>c : any +} + +for (var i = 0; i < 10; i++) { +>i : number +>0 : 0 +>i < 10 : boolean +>i : number +>10 : 10 +>i++ : number +>i : number + + const c = 0; +>c : 0 +>0 : 0 + + n = c; +>n = c : 0 +>n : number +>c : 0 +} + +for (var i2 in {}) { +>i2 : string +>{} : {} + + const c = 0; +>c : 0 +>0 : 0 + + n = c; +>n = c : 0 +>n : number +>c : 0 +} + +if (true) { +>true : true + + label: const c = 0; +>label : any +>c : 0 +>0 : 0 + + n = c; +>n = c : 0 +>n : number +>c : 0 +} + +while (false) { +>false : false + + label2: label3: label4: const c = 0; +>label2 : any +>label3 : any +>label4 : any +>c : 0 +>0 : 0 + + n = c; +>n = c : 0 +>n : number +>c : 0 +} + +// Try/catch/finally +try { + const c = 0; +>c : 0 +>0 : 0 + + n = c; +>n = c : 0 +>n : number +>c : 0 +} +catch (e) { +>e : any + + const c = 0; +>c : 0 +>0 : 0 + + n = c; +>n = c : 0 +>n : number +>c : 0 +} +finally { + const c = 0; +>c : 0 +>0 : 0 + + n = c; +>n = c : 0 +>n : number +>c : 0 +} + +// Switch +switch (0) { +>0 : 0 + + case 0: +>0 : 0 + + const c = 0; +>c : 0 +>0 : 0 + + n = c; +>n = c : 0 +>n : number +>c : 0 + + break; +} + +// blocks +{ + const c = 0; +>c : 0 +>0 : 0 + + n = c; +>n = c : 0 +>n : number +>c : 0 + { + const c = false; +>c : false +>false : false + + var b: boolean = c; +>b : boolean +>c : false + } +} + +// functions + +function F() { +>F : () => void + + const c = 0; +>c : 0 +>0 : 0 + + n = c; +>n = c : 0 +>n : number +>c : 0 +} + +var F2 = () => { +>F2 : () => void +>() => { const c = 0; n = c;} : () => void + + const c = 0; +>c : 0 +>0 : 0 + + n = c; +>n = c : 0 +>n : number +>c : 0 + +}; + +var F3 = function () { +>F3 : () => void +>function () { const c = 0; n = c;} : () => void + + const c = 0; +>c : 0 +>0 : 0 + + n = c; +>n = c : 0 +>n : number +>c : 0 + +}; + +// modules +namespace m { +>m : typeof m + + const c = 0; +>c : 0 +>0 : 0 + + n = c; +>n = c : 0 +>n : number +>c : 0 + + { + const c = false; +>c : false +>false : false + + var b2: boolean = c; +>b2 : boolean +>c : false + } +} + +// methods +class C { +>C : C + + constructor() { + const c = 0; +>c : 0 +>0 : 0 + + n = c; +>n = c : 0 +>n : number +>c : 0 + } + + method() { +>method : () => void + + const c = 0; +>c : 0 +>0 : 0 + + n = c; +>n = c : 0 +>n : number +>c : 0 + } + + get v() { +>v : number + + const c = 0; +>c : 0 +>0 : 0 + + n = c; +>n = c : 0 +>n : number +>c : 0 + + return n; +>n : number + } + + set v(value) { +>v : number +>value : number + + const c = 0; +>c : 0 +>0 : 0 + + n = c; +>n = c : 0 +>n : number +>c : 0 + } +} + +// object literals +var o = { +>o : { f(): void; f2: () => void; } +>{ f() { const c = 0; n = c; }, f2: () => { const c = 0; n = c; }} : { f(): void; f2: () => void; } + + f() { +>f : () => void + + const c = 0; +>c : 0 +>0 : 0 + + n = c; +>n = c : 0 +>n : number +>c : 0 + + }, + f2: () => { +>f2 : () => void +>() => { const c = 0; n = c; } : () => void + + const c = 0; +>c : 0 +>0 : 0 + + n = c; +>n = c : 0 +>n : number +>c : 0 + } +} diff --git a/testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..0eef8776af8 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).errors.txt @@ -0,0 +1,141 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +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. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== constDeclarations-validContexts.ts (5 errors) ==== + // Control flow statements with blocks + if (true) { + const c1 = 0; + } + else { + const c2 = 0; + } + + while (true) { + const c3 = 0; + } + + do { + const c4 = 0; + } while (true); + + 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; + } + + for (var i = 0; i < 10; i++) { + const c6 = 0; + } + + for (var i2 in {}) { + const c7 = 0; + } + + 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 + try { + const c10 = 0; + } + catch (e) { + const c11 = 0; + } + finally { + const c12 = 0; + } + + // Switch + switch (0) { + case 0: + const c13 = 0; + break; + default: + const c14 = 0; + break; + } + + // blocks + { + const c15 = 0; + { + const c16 = 0 + label17: const c17 = 0; + ~~~~~~~ +!!! error TS1344: 'A label is not allowed here. + } + } + + // global + const c18 = 0; + + // functions + function F() { + const c19 = 0; + } + + var F2 = () => { + const c20 = 0; + }; + + var F3 = function () { + const c21 = 0; + }; + + // modules + namespace m { + const c22 = 0; + + { + const c23 = 0; + } + } + + // methods + class C { + constructor() { + const c24 = 0; + } + + method() { + const c25 = 0; + } + + get v() { + const c26 = 0; + return c26; + } + + set v(value) { + const c27 = value; + } + } + + // object literals + var o = { + f() { + const c28 = 0; + }, + f2: () => { + const c29 = 0; + } + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..be3a9bbb32e --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,52 @@ +--- old.constDeclarations-validContexts(alwaysstrict=false).errors.txt ++++ new.constDeclarations-validContexts(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++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 (1 errors) ==== ++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. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== constDeclarations-validContexts.ts (5 errors) ==== + // Control flow statements with blocks + if (true) { + const c1 = 0; +@@= skipped -19, +25 lines =@@ + + 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; +@@= skipped -15, +17 lines =@@ + + 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 +@@= skipped -33, +37 lines =@@ + { + const c16 = 0 + label17: const c17 = 0; ++ ~~~~~~~ ++!!! error TS1344: 'A label is not allowed here. + } + } + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).js b/testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).js new file mode 100644 index 00000000000..c2a6bb9b3ca --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).js @@ -0,0 +1,228 @@ +//// [tests/cases/compiler/constDeclarations-validContexts.ts] //// + +//// [constDeclarations-validContexts.ts] +// Control flow statements with blocks +if (true) { + const c1 = 0; +} +else { + const c2 = 0; +} + +while (true) { + const c3 = 0; +} + +do { + const c4 = 0; +} while (true); + +var obj; +with (obj) { + const c5 = 0; +} + +for (var i = 0; i < 10; i++) { + const c6 = 0; +} + +for (var i2 in {}) { + const c7 = 0; +} + +if (true) { + label: const c8 = 0; +} + +while (false) { + label2: label3: label4: const c9 = 0; +} + +// Try/catch/finally +try { + const c10 = 0; +} +catch (e) { + const c11 = 0; +} +finally { + const c12 = 0; +} + +// Switch +switch (0) { + case 0: + const c13 = 0; + break; + default: + const c14 = 0; + break; +} + +// blocks +{ + const c15 = 0; + { + const c16 = 0 + label17: const c17 = 0; + } +} + +// global +const c18 = 0; + +// functions +function F() { + const c19 = 0; +} + +var F2 = () => { + const c20 = 0; +}; + +var F3 = function () { + const c21 = 0; +}; + +// modules +namespace m { + const c22 = 0; + + { + const c23 = 0; + } +} + +// methods +class C { + constructor() { + const c24 = 0; + } + + method() { + const c25 = 0; + } + + get v() { + const c26 = 0; + return c26; + } + + set v(value) { + const c27 = value; + } +} + +// object literals +var o = { + f() { + const c28 = 0; + }, + f2: () => { + const c29 = 0; + } +} + +//// [constDeclarations-validContexts.js] +"use strict"; +// Control flow statements with blocks +if (true) { + const c1 = 0; +} +else { + const c2 = 0; +} +while (true) { + const c3 = 0; +} +do { + const c4 = 0; +} while (true); +var obj; +with (obj) { + const c5 = 0; +} +for (var i = 0; i < 10; i++) { + const c6 = 0; +} +for (var i2 in {}) { + const c7 = 0; +} +if (true) { + label: const c8 = 0; +} +while (false) { + label2: label3: label4: const c9 = 0; +} +// Try/catch/finally +try { + const c10 = 0; +} +catch (e) { + const c11 = 0; +} +finally { + const c12 = 0; +} +// Switch +switch (0) { + case 0: + const c13 = 0; + break; + default: + const c14 = 0; + break; +} +// blocks +{ + const c15 = 0; + { + const c16 = 0; + label17: const c17 = 0; + } +} +// global +const c18 = 0; +// functions +function F() { + const c19 = 0; +} +var F2 = () => { + const c20 = 0; +}; +var F3 = function () { + const c21 = 0; +}; +// modules +var m; +(function (m) { + const c22 = 0; + { + const c23 = 0; + } +})(m || (m = {})); +// methods +class C { + constructor() { + const c24 = 0; + } + method() { + const c25 = 0; + } + get v() { + const c26 = 0; + return c26; + } + set v(value) { + const c27 = value; + } +} +// object literals +var o = { + f() { + const c28 = 0; + }, + f2: () => { + const c29 = 0; + } +}; diff --git a/testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..8cb42a7190a --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).js.diff @@ -0,0 +1,10 @@ +--- old.constDeclarations-validContexts(alwaysstrict=false).js ++++ new.constDeclarations-validContexts(alwaysstrict=false).js +@@= skipped -123, +123 lines =@@ + } + + //// [constDeclarations-validContexts.js] ++"use strict"; + // Control flow statements with blocks + if (true) { + const c1 = 0; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).symbols new file mode 100644 index 00000000000..3496aabc5bb --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).symbols @@ -0,0 +1,197 @@ +//// [tests/cases/compiler/constDeclarations-validContexts.ts] //// + +=== constDeclarations-validContexts.ts === +// Control flow statements with blocks +if (true) { + const c1 = 0; +>c1 : Symbol(c1, Decl(constDeclarations-validContexts.ts, 2, 9)) +} +else { + const c2 = 0; +>c2 : Symbol(c2, Decl(constDeclarations-validContexts.ts, 5, 9)) +} + +while (true) { + const c3 = 0; +>c3 : Symbol(c3, Decl(constDeclarations-validContexts.ts, 9, 9)) +} + +do { + const c4 = 0; +>c4 : Symbol(c4, Decl(constDeclarations-validContexts.ts, 13, 9)) + +} while (true); + +var obj; +>obj : Symbol(obj, Decl(constDeclarations-validContexts.ts, 16, 3)) + +with (obj) { +>obj : Symbol(obj, Decl(constDeclarations-validContexts.ts, 16, 3)) + + const c5 = 0; +} + +for (var i = 0; i < 10; i++) { +>i : Symbol(i, Decl(constDeclarations-validContexts.ts, 21, 8)) +>i : Symbol(i, Decl(constDeclarations-validContexts.ts, 21, 8)) +>i : Symbol(i, Decl(constDeclarations-validContexts.ts, 21, 8)) + + const c6 = 0; +>c6 : Symbol(c6, Decl(constDeclarations-validContexts.ts, 22, 9)) +} + +for (var i2 in {}) { +>i2 : Symbol(i2, Decl(constDeclarations-validContexts.ts, 25, 8)) + + const c7 = 0; +>c7 : Symbol(c7, Decl(constDeclarations-validContexts.ts, 26, 9)) +} + +if (true) { + label: const c8 = 0; +>c8 : Symbol(c8, Decl(constDeclarations-validContexts.ts, 30, 16)) +} + +while (false) { + label2: label3: label4: const c9 = 0; +>c9 : Symbol(c9, Decl(constDeclarations-validContexts.ts, 34, 33)) +} + +// Try/catch/finally +try { + const c10 = 0; +>c10 : Symbol(c10, Decl(constDeclarations-validContexts.ts, 39, 9)) +} +catch (e) { +>e : Symbol(e, Decl(constDeclarations-validContexts.ts, 41, 7)) + + const c11 = 0; +>c11 : Symbol(c11, Decl(constDeclarations-validContexts.ts, 42, 9)) +} +finally { + const c12 = 0; +>c12 : Symbol(c12, Decl(constDeclarations-validContexts.ts, 45, 9)) +} + +// Switch +switch (0) { + case 0: + const c13 = 0; +>c13 : Symbol(c13, Decl(constDeclarations-validContexts.ts, 51, 13)) + + break; + default: + const c14 = 0; +>c14 : Symbol(c14, Decl(constDeclarations-validContexts.ts, 54, 13)) + + break; +} + +// blocks +{ + const c15 = 0; +>c15 : Symbol(c15, Decl(constDeclarations-validContexts.ts, 60, 9)) + { + const c16 = 0 +>c16 : Symbol(c16, Decl(constDeclarations-validContexts.ts, 62, 13)) + + label17: const c17 = 0; +>c17 : Symbol(c17, Decl(constDeclarations-validContexts.ts, 63, 22)) + } +} + +// global +const c18 = 0; +>c18 : Symbol(c18, Decl(constDeclarations-validContexts.ts, 68, 5)) + +// functions +function F() { +>F : Symbol(F, Decl(constDeclarations-validContexts.ts, 68, 14)) + + const c19 = 0; +>c19 : Symbol(c19, Decl(constDeclarations-validContexts.ts, 72, 9)) +} + +var F2 = () => { +>F2 : Symbol(F2, Decl(constDeclarations-validContexts.ts, 75, 3)) + + const c20 = 0; +>c20 : Symbol(c20, Decl(constDeclarations-validContexts.ts, 76, 9)) + +}; + +var F3 = function () { +>F3 : Symbol(F3, Decl(constDeclarations-validContexts.ts, 79, 3)) + + const c21 = 0; +>c21 : Symbol(c21, Decl(constDeclarations-validContexts.ts, 80, 9)) + +}; + +// modules +namespace m { +>m : Symbol(m, Decl(constDeclarations-validContexts.ts, 81, 2)) + + const c22 = 0; +>c22 : Symbol(c22, Decl(constDeclarations-validContexts.ts, 85, 9)) + + { + const c23 = 0; +>c23 : Symbol(c23, Decl(constDeclarations-validContexts.ts, 88, 15)) + } +} + +// methods +class C { +>C : Symbol(C, Decl(constDeclarations-validContexts.ts, 90, 1)) + + constructor() { + const c24 = 0; +>c24 : Symbol(c24, Decl(constDeclarations-validContexts.ts, 95, 13)) + } + + method() { +>method : Symbol(C.method, Decl(constDeclarations-validContexts.ts, 96, 5)) + + const c25 = 0; +>c25 : Symbol(c25, Decl(constDeclarations-validContexts.ts, 99, 13)) + } + + get v() { +>v : Symbol(C.v, Decl(constDeclarations-validContexts.ts, 100, 5), Decl(constDeclarations-validContexts.ts, 105, 5)) + + const c26 = 0; +>c26 : Symbol(c26, Decl(constDeclarations-validContexts.ts, 103, 13)) + + return c26; +>c26 : Symbol(c26, Decl(constDeclarations-validContexts.ts, 103, 13)) + } + + set v(value) { +>v : Symbol(C.v, Decl(constDeclarations-validContexts.ts, 100, 5), Decl(constDeclarations-validContexts.ts, 105, 5)) +>value : Symbol(value, Decl(constDeclarations-validContexts.ts, 107, 10)) + + const c27 = value; +>c27 : Symbol(c27, Decl(constDeclarations-validContexts.ts, 108, 13)) +>value : Symbol(value, Decl(constDeclarations-validContexts.ts, 107, 10)) + } +} + +// object literals +var o = { +>o : Symbol(o, Decl(constDeclarations-validContexts.ts, 113, 3)) + + f() { +>f : Symbol(f, Decl(constDeclarations-validContexts.ts, 113, 9)) + + const c28 = 0; +>c28 : Symbol(c28, Decl(constDeclarations-validContexts.ts, 115, 13)) + + }, + f2: () => { +>f2 : Symbol(f2, Decl(constDeclarations-validContexts.ts, 116, 6)) + + const c29 = 0; +>c29 : Symbol(c29, Decl(constDeclarations-validContexts.ts, 118, 13)) + } +} diff --git a/testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).types b/testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).types new file mode 100644 index 00000000000..9516c9a4a69 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/constDeclarations-validContexts(alwaysstrict=false).types @@ -0,0 +1,253 @@ +//// [tests/cases/compiler/constDeclarations-validContexts.ts] //// + +=== constDeclarations-validContexts.ts === +// Control flow statements with blocks +if (true) { +>true : true + + const c1 = 0; +>c1 : 0 +>0 : 0 +} +else { + const c2 = 0; +>c2 : 0 +>0 : 0 +} + +while (true) { +>true : true + + const c3 = 0; +>c3 : 0 +>0 : 0 +} + +do { + const c4 = 0; +>c4 : 0 +>0 : 0 + +} while (true); +>true : true + +var obj; +>obj : any + +with (obj) { +>obj : any + + const c5 = 0; +>c5 : any +>0 : any +} + +for (var i = 0; i < 10; i++) { +>i : number +>0 : 0 +>i < 10 : boolean +>i : number +>10 : 10 +>i++ : number +>i : number + + const c6 = 0; +>c6 : 0 +>0 : 0 +} + +for (var i2 in {}) { +>i2 : string +>{} : {} + + const c7 = 0; +>c7 : 0 +>0 : 0 +} + +if (true) { +>true : true + + label: const c8 = 0; +>label : any +>c8 : 0 +>0 : 0 +} + +while (false) { +>false : false + + label2: label3: label4: const c9 = 0; +>label2 : any +>label3 : any +>label4 : any +>c9 : 0 +>0 : 0 +} + +// Try/catch/finally +try { + const c10 = 0; +>c10 : 0 +>0 : 0 +} +catch (e) { +>e : any + + const c11 = 0; +>c11 : 0 +>0 : 0 +} +finally { + const c12 = 0; +>c12 : 0 +>0 : 0 +} + +// Switch +switch (0) { +>0 : 0 + + case 0: +>0 : 0 + + const c13 = 0; +>c13 : 0 +>0 : 0 + + break; + default: + const c14 = 0; +>c14 : 0 +>0 : 0 + + break; +} + +// blocks +{ + const c15 = 0; +>c15 : 0 +>0 : 0 + { + const c16 = 0 +>c16 : 0 +>0 : 0 + + label17: const c17 = 0; +>label17 : any +>c17 : 0 +>0 : 0 + } +} + +// global +const c18 = 0; +>c18 : 0 +>0 : 0 + +// functions +function F() { +>F : () => void + + const c19 = 0; +>c19 : 0 +>0 : 0 +} + +var F2 = () => { +>F2 : () => void +>() => { const c20 = 0;} : () => void + + const c20 = 0; +>c20 : 0 +>0 : 0 + +}; + +var F3 = function () { +>F3 : () => void +>function () { const c21 = 0;} : () => void + + const c21 = 0; +>c21 : 0 +>0 : 0 + +}; + +// modules +namespace m { +>m : typeof m + + const c22 = 0; +>c22 : 0 +>0 : 0 + + { + const c23 = 0; +>c23 : 0 +>0 : 0 + } +} + +// methods +class C { +>C : C + + constructor() { + const c24 = 0; +>c24 : 0 +>0 : 0 + } + + method() { +>method : () => void + + const c25 = 0; +>c25 : 0 +>0 : 0 + } + + get v() { +>v : number + + const c26 = 0; +>c26 : 0 +>0 : 0 + + return c26; +>c26 : 0 + } + + set v(value) { +>v : number +>value : number + + const c27 = value; +>c27 : number +>value : number + } +} + +// object literals +var o = { +>o : { f(): void; f2: () => void; } +>{ f() { const c28 = 0; }, f2: () => { const c29 = 0; }} : { f(): void; f2: () => void; } + + f() { +>f : () => void + + const c28 = 0; +>c28 : 0 +>0 : 0 + + }, + f2: () => { +>f2 : () => void +>() => { const c29 = 0; } : () => void + + const c29 = 0; +>c29 : 0 +>0 : 0 + } +} diff --git a/testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..d81e4a11a17 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).errors.txt @@ -0,0 +1,421 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +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. +convertKeywordsYes.ts(294,11): error TS1213: Identifier expected. 'let' is a reserved word in strict mode. Class definitions are automatically in strict mode. +convertKeywordsYes.ts(296,11): error TS1213: Identifier expected. 'package' is a reserved word in strict mode. Class definitions are automatically in strict mode. +convertKeywordsYes.ts(297,11): error TS1213: Identifier expected. 'private' is a reserved word in strict mode. Class definitions are automatically in strict mode. +convertKeywordsYes.ts(298,11): error TS1213: Identifier expected. 'protected' is a reserved word in strict mode. Class definitions are automatically in strict mode. +convertKeywordsYes.ts(299,11): error TS1213: Identifier expected. 'public' is a reserved word in strict mode. Class definitions are automatically in strict mode. +convertKeywordsYes.ts(301,11): error TS1213: Identifier expected. 'static' is a reserved word in strict mode. Class definitions are automatically in strict mode. +convertKeywordsYes.ts(303,11): error TS1213: Identifier expected. 'yield' is a reserved word in strict mode. Class definitions are automatically in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== 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 = { + constructor: 0, + any: 0, + boolean: 0, + implements: 0, + interface: 0, + let: 0, + module: 0, + number: 0, + package: 0, + private: 0, + protected: 0, + public: 0, + set: 0, + static: 0, + string: 0, + get: 0, + yield: 0, + break: 0, + case: 0, + catch: 0, + class: 0, + continue: 0, + const: 0, + + debugger: 0, + declare: 0, + default: 0, + delete: 0, + do: 0, + else: 0, + enum: 0, + export: 0, + extends: 0, + false: 0, + finally: 0, + for: 0, + function: 0, + if: 0, + + import: 0, + in: 0, + instanceof: 0, + new: 0, + null: 0, + return: 0, + super: 0, + switch: 0, + this: 0, + throw: 0, + true: 0, + try: 0, + typeof: 0, + var: 0, + void: 0, + while: 0, + with: 0, + }; + + interface bigInterface { + constructor; + any; + boolean; + implements; + interface; + let; + module; + number; + package; + private; + protected; + public; + set; + static; + string; + get; + yield; + break; + case; + catch; + class; + continue; + const; + + debugger; + declare; + default; + delete; + do; + else; + enum; + export; + extends; + false; + finally; + for; + function; + if; + + import; + in; + instanceof; + new; + null; + return; + super; + switch; + this; + throw; + true; + try; + typeof; + var; + void; + while; + with; + } + + class bigClass { + public "constructor" = 0; + ~~~~~~~~~~~~~ +!!! error TS18006: Classes may not have a field named 'constructor'. + public any = 0; + public boolean = 0; + public implements = 0; + public interface = 0; + public let = 0; + public module = 0; + public number = 0; + public package = 0; + public private = 0; + public protected = 0; + public public = 0; + public set = 0; + public static = 0; + public string = 0; + public get = 0; + public yield = 0; + public break = 0; + public case = 0; + public catch = 0; + public class = 0; + public continue = 0; + public const = 0; + public debugger = 0; + public declare = 0; + public default = 0; + public delete = 0; + public do = 0; + public else = 0; + public enum = 0; + public export = 0; + public extends = 0; + public false = 0; + public finally = 0; + public for = 0; + public function = 0; + public if = 0; + public import = 0; + public in = 0; + public instanceof = 0; + public new = 0; + public null = 0; + public return = 0; + public super = 0; + public switch = 0; + public this = 0; + public throw = 0; + public true = 0; + public try = 0; + public typeof = 0; + public var = 0; + public void = 0; + public while = 0; + public with = 0; + } + + enum bigEnum { + constructor, + any, + boolean, + implements, + interface, + let, + module, + number, + package, + private, + protected, + public, + set, + static, + string, + get, + yield, + break, + case, + catch, + class, + continue, + const, + + debugger, + declare, + default, + delete, + do, + else, + enum, + export, + extends, + false, + finally, + for, + function, + if, + + import, + in, + instanceof, + new, + null, + return, + super, + switch, + this, + throw, + true, + try, + typeof, + var, + void, + while, + with, + } + + namespace bigModule { + class constructor { } + class implements { } + ~~~~~~~~~~ +!!! error TS1213: Identifier expected. 'implements' is a reserved word in strict mode. Class definitions are automatically in strict mode. + class interface { } + ~~~~~~~~~ +!!! error TS1213: Identifier expected. 'interface' is a reserved word in strict mode. Class definitions are automatically in strict mode. + class let { } + ~~~ +!!! error TS1213: Identifier expected. 'let' is a reserved word in strict mode. Class definitions are automatically in strict mode. + class module { } + class package { } + ~~~~~~~ +!!! error TS1213: Identifier expected. 'package' is a reserved word in strict mode. Class definitions are automatically in strict mode. + class private { } + ~~~~~~~ +!!! error TS1213: Identifier expected. 'private' is a reserved word in strict mode. Class definitions are automatically in strict mode. + class protected { } + ~~~~~~~~~ +!!! error TS1213: Identifier expected. 'protected' is a reserved word in strict mode. Class definitions are automatically in strict mode. + class public { } + ~~~~~~ +!!! error TS1213: Identifier expected. 'public' is a reserved word in strict mode. Class definitions are automatically in strict mode. + class set { } + class static { } + ~~~~~~ +!!! error TS1213: Identifier expected. 'static' is a reserved word in strict mode. Class definitions are automatically in strict mode. + class get { } + class yield { } + ~~~~~ +!!! error TS1213: Identifier expected. 'yield' is a reserved word in strict mode. Class definitions are automatically in strict mode. + class declare { } + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..6537978f0d7 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,151 @@ +--- old.convertKeywordsYes(alwaysstrict=false).errors.txt ++++ new.convertKeywordsYes(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++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. +@@= skipped -9, +37 lines =@@ + 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) ==== ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== 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 = { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).js b/testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).js new file mode 100644 index 00000000000..8a62ef06191 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).js @@ -0,0 +1,531 @@ +//// [tests/cases/compiler/convertKeywordsYes.ts] //// + +//// [convertKeywordsYes.ts] +// reserved ES5 future in strict mode + +var constructor = 0; +var any = 0; +var boolean = 0; +var implements = 0; +var interface = 0; +var let = 0; +var module = 0; +var number = 0; +var package = 0; +var private = 0; +var protected = 0; +var public = 0; +var set = 0; +var static = 0; +var string = 0; +var get = 0; +var yield = 0; +var declare = 0; + +function bigGeneric< + constructor, + implements , + interface , + let, + module , + package, + private , + protected, + public , + set , + static , + get , + yield, + declare + >(c: constructor, + a: any, + b2: boolean, + i: implements , + i2: interface , + l: let, + m: module , + n: number, + p: package, + p2: private , + p3: protected, + p4: public , + s: set , + s2: static , + s3: string, + g: get , + y: yield, + d: declare ) { } + +var bigObject = { + constructor: 0, + any: 0, + boolean: 0, + implements: 0, + interface: 0, + let: 0, + module: 0, + number: 0, + package: 0, + private: 0, + protected: 0, + public: 0, + set: 0, + static: 0, + string: 0, + get: 0, + yield: 0, + break: 0, + case: 0, + catch: 0, + class: 0, + continue: 0, + const: 0, + + debugger: 0, + declare: 0, + default: 0, + delete: 0, + do: 0, + else: 0, + enum: 0, + export: 0, + extends: 0, + false: 0, + finally: 0, + for: 0, + function: 0, + if: 0, + + import: 0, + in: 0, + instanceof: 0, + new: 0, + null: 0, + return: 0, + super: 0, + switch: 0, + this: 0, + throw: 0, + true: 0, + try: 0, + typeof: 0, + var: 0, + void: 0, + while: 0, + with: 0, +}; + +interface bigInterface { + constructor; + any; + boolean; + implements; + interface; + let; + module; + number; + package; + private; + protected; + public; + set; + static; + string; + get; + yield; + break; + case; + catch; + class; + continue; + const; + + debugger; + declare; + default; + delete; + do; + else; + enum; + export; + extends; + false; + finally; + for; + function; + if; + + import; + in; + instanceof; + new; + null; + return; + super; + switch; + this; + throw; + true; + try; + typeof; + var; + void; + while; + with; +} + +class bigClass { + public "constructor" = 0; + public any = 0; + public boolean = 0; + public implements = 0; + public interface = 0; + public let = 0; + public module = 0; + public number = 0; + public package = 0; + public private = 0; + public protected = 0; + public public = 0; + public set = 0; + public static = 0; + public string = 0; + public get = 0; + public yield = 0; + public break = 0; + public case = 0; + public catch = 0; + public class = 0; + public continue = 0; + public const = 0; + public debugger = 0; + public declare = 0; + public default = 0; + public delete = 0; + public do = 0; + public else = 0; + public enum = 0; + public export = 0; + public extends = 0; + public false = 0; + public finally = 0; + public for = 0; + public function = 0; + public if = 0; + public import = 0; + public in = 0; + public instanceof = 0; + public new = 0; + public null = 0; + public return = 0; + public super = 0; + public switch = 0; + public this = 0; + public throw = 0; + public true = 0; + public try = 0; + public typeof = 0; + public var = 0; + public void = 0; + public while = 0; + public with = 0; +} + +enum bigEnum { + constructor, + any, + boolean, + implements, + interface, + let, + module, + number, + package, + private, + protected, + public, + set, + static, + string, + get, + yield, + break, + case, + catch, + class, + continue, + const, + + debugger, + declare, + default, + delete, + do, + else, + enum, + export, + extends, + false, + finally, + for, + function, + if, + + import, + in, + instanceof, + new, + null, + return, + super, + switch, + this, + throw, + true, + try, + typeof, + var, + void, + while, + with, +} + +namespace bigModule { + class constructor { } + class implements { } + class interface { } + class let { } + class module { } + class package { } + class private { } + class protected { } + class public { } + class set { } + class static { } + class get { } + class yield { } + class declare { } +} + +//// [convertKeywordsYes.js] +"use strict"; +// reserved ES5 future in strict mode +var constructor = 0; +var any = 0; +var boolean = 0; +var implements = 0; +var interface = 0; +var let = 0; +var module = 0; +var number = 0; +var package = 0; +var private = 0; +var protected = 0; +var public = 0; +var set = 0; +var static = 0; +var string = 0; +var get = 0; +var yield = 0; +var declare = 0; +function bigGeneric(c, a, b2, i, i2, l, m, n, p, p2, p3, p4, s, s2, s3, g, y, d) { } +var bigObject = { + constructor: 0, + any: 0, + boolean: 0, + implements: 0, + interface: 0, + let: 0, + module: 0, + number: 0, + package: 0, + private: 0, + protected: 0, + public: 0, + set: 0, + static: 0, + string: 0, + get: 0, + yield: 0, + break: 0, + case: 0, + catch: 0, + class: 0, + continue: 0, + const: 0, + debugger: 0, + declare: 0, + default: 0, + delete: 0, + do: 0, + else: 0, + enum: 0, + export: 0, + extends: 0, + false: 0, + finally: 0, + for: 0, + function: 0, + if: 0, + import: 0, + in: 0, + instanceof: 0, + new: 0, + null: 0, + return: 0, + super: 0, + switch: 0, + this: 0, + throw: 0, + true: 0, + try: 0, + typeof: 0, + var: 0, + void: 0, + while: 0, + with: 0, +}; +class bigClass { + "constructor" = 0; + any = 0; + boolean = 0; + implements = 0; + interface = 0; + let = 0; + module = 0; + number = 0; + package = 0; + private = 0; + protected = 0; + public = 0; + set = 0; + static = 0; + string = 0; + get = 0; + yield = 0; + break = 0; + case = 0; + catch = 0; + class = 0; + continue = 0; + const = 0; + debugger = 0; + declare = 0; + default = 0; + delete = 0; + do = 0; + else = 0; + enum = 0; + export = 0; + extends = 0; + false = 0; + finally = 0; + for = 0; + function = 0; + if = 0; + import = 0; + in = 0; + instanceof = 0; + new = 0; + null = 0; + return = 0; + super = 0; + switch = 0; + this = 0; + throw = 0; + true = 0; + try = 0; + typeof = 0; + var = 0; + void = 0; + while = 0; + with = 0; +} +var bigEnum; +(function (bigEnum) { + bigEnum[bigEnum["constructor"] = 0] = "constructor"; + bigEnum[bigEnum["any"] = 1] = "any"; + bigEnum[bigEnum["boolean"] = 2] = "boolean"; + bigEnum[bigEnum["implements"] = 3] = "implements"; + bigEnum[bigEnum["interface"] = 4] = "interface"; + bigEnum[bigEnum["let"] = 5] = "let"; + bigEnum[bigEnum["module"] = 6] = "module"; + bigEnum[bigEnum["number"] = 7] = "number"; + bigEnum[bigEnum["package"] = 8] = "package"; + bigEnum[bigEnum["private"] = 9] = "private"; + bigEnum[bigEnum["protected"] = 10] = "protected"; + bigEnum[bigEnum["public"] = 11] = "public"; + bigEnum[bigEnum["set"] = 12] = "set"; + bigEnum[bigEnum["static"] = 13] = "static"; + bigEnum[bigEnum["string"] = 14] = "string"; + bigEnum[bigEnum["get"] = 15] = "get"; + bigEnum[bigEnum["yield"] = 16] = "yield"; + bigEnum[bigEnum["break"] = 17] = "break"; + bigEnum[bigEnum["case"] = 18] = "case"; + bigEnum[bigEnum["catch"] = 19] = "catch"; + bigEnum[bigEnum["class"] = 20] = "class"; + bigEnum[bigEnum["continue"] = 21] = "continue"; + bigEnum[bigEnum["const"] = 22] = "const"; + bigEnum[bigEnum["debugger"] = 23] = "debugger"; + bigEnum[bigEnum["declare"] = 24] = "declare"; + bigEnum[bigEnum["default"] = 25] = "default"; + bigEnum[bigEnum["delete"] = 26] = "delete"; + bigEnum[bigEnum["do"] = 27] = "do"; + bigEnum[bigEnum["else"] = 28] = "else"; + bigEnum[bigEnum["enum"] = 29] = "enum"; + bigEnum[bigEnum["export"] = 30] = "export"; + bigEnum[bigEnum["extends"] = 31] = "extends"; + bigEnum[bigEnum["false"] = 32] = "false"; + bigEnum[bigEnum["finally"] = 33] = "finally"; + bigEnum[bigEnum["for"] = 34] = "for"; + bigEnum[bigEnum["function"] = 35] = "function"; + bigEnum[bigEnum["if"] = 36] = "if"; + bigEnum[bigEnum["import"] = 37] = "import"; + bigEnum[bigEnum["in"] = 38] = "in"; + bigEnum[bigEnum["instanceof"] = 39] = "instanceof"; + bigEnum[bigEnum["new"] = 40] = "new"; + bigEnum[bigEnum["null"] = 41] = "null"; + bigEnum[bigEnum["return"] = 42] = "return"; + bigEnum[bigEnum["super"] = 43] = "super"; + bigEnum[bigEnum["switch"] = 44] = "switch"; + bigEnum[bigEnum["this"] = 45] = "this"; + bigEnum[bigEnum["throw"] = 46] = "throw"; + bigEnum[bigEnum["true"] = 47] = "true"; + bigEnum[bigEnum["try"] = 48] = "try"; + bigEnum[bigEnum["typeof"] = 49] = "typeof"; + bigEnum[bigEnum["var"] = 50] = "var"; + bigEnum[bigEnum["void"] = 51] = "void"; + bigEnum[bigEnum["while"] = 52] = "while"; + bigEnum[bigEnum["with"] = 53] = "with"; +})(bigEnum || (bigEnum = {})); +var bigModule; +(function (bigModule) { + class constructor { + } + class implements { + } + class interface { + } + class let { + } + class module { + } + class package { + } + class private { + } + class protected { + } + class public { + } + class set { + } + class static { + } + class get { + } + class yield { + } + class declare { + } +})(bigModule || (bigModule = {})); diff --git a/testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..2644c7d6260 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).js.diff @@ -0,0 +1,127 @@ +--- old.convertKeywordsYes(alwaysstrict=false).js ++++ new.convertKeywordsYes(alwaysstrict=false).js +@@= skipped -307, +307 lines =@@ + } + + //// [convertKeywordsYes.js] ++"use strict"; + // reserved ES5 future in strict mode + var constructor = 0; + var any = 0; +@@= skipped -77, +78 lines =@@ + with: 0, + }; + class bigClass { +- constructor() { +- this["constructor"] = 0; +- this.any = 0; +- this.boolean = 0; +- this.implements = 0; +- this.interface = 0; +- this.let = 0; +- this.module = 0; +- this.number = 0; +- this.package = 0; +- this.private = 0; +- this.protected = 0; +- this.public = 0; +- this.set = 0; +- this.static = 0; +- this.string = 0; +- this.get = 0; +- this.yield = 0; +- this.break = 0; +- this.case = 0; +- this.catch = 0; +- this.class = 0; +- this.continue = 0; +- this.const = 0; +- this.debugger = 0; +- this.declare = 0; +- this.default = 0; +- this.delete = 0; +- this.do = 0; +- this.else = 0; +- this.enum = 0; +- this.export = 0; +- this.extends = 0; +- this.false = 0; +- this.finally = 0; +- this.for = 0; +- this.function = 0; +- this.if = 0; +- this.import = 0; +- this.in = 0; +- this.instanceof = 0; +- this.new = 0; +- this.null = 0; +- this.return = 0; +- this.super = 0; +- this.switch = 0; +- this.this = 0; +- this.throw = 0; +- this.true = 0; +- this.try = 0; +- this.typeof = 0; +- this.var = 0; +- this.void = 0; +- this.while = 0; +- this.with = 0; +- } ++ "constructor" = 0; ++ any = 0; ++ boolean = 0; ++ implements = 0; ++ interface = 0; ++ let = 0; ++ module = 0; ++ number = 0; ++ package = 0; ++ private = 0; ++ protected = 0; ++ public = 0; ++ set = 0; ++ static = 0; ++ string = 0; ++ get = 0; ++ yield = 0; ++ break = 0; ++ case = 0; ++ catch = 0; ++ class = 0; ++ continue = 0; ++ const = 0; ++ debugger = 0; ++ declare = 0; ++ default = 0; ++ delete = 0; ++ do = 0; ++ else = 0; ++ enum = 0; ++ export = 0; ++ extends = 0; ++ false = 0; ++ finally = 0; ++ for = 0; ++ function = 0; ++ if = 0; ++ import = 0; ++ in = 0; ++ instanceof = 0; ++ new = 0; ++ null = 0; ++ return = 0; ++ super = 0; ++ switch = 0; ++ this = 0; ++ throw = 0; ++ true = 0; ++ try = 0; ++ typeof = 0; ++ var = 0; ++ void = 0; ++ while = 0; ++ with = 0; + } + var bigEnum; + (function (bigEnum) { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).symbols new file mode 100644 index 00000000000..62d0a7f5df6 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).symbols @@ -0,0 +1,882 @@ +//// [tests/cases/compiler/convertKeywordsYes.ts] //// + +=== convertKeywordsYes.ts === +// reserved ES5 future in strict mode + +var constructor = 0; +>constructor : Symbol(constructor, Decl(convertKeywordsYes.ts, 2, 3)) + +var any = 0; +>any : Symbol(any, Decl(convertKeywordsYes.ts, 3, 3)) + +var boolean = 0; +>boolean : Symbol(boolean, Decl(convertKeywordsYes.ts, 4, 3)) + +var implements = 0; +>implements : Symbol(implements, Decl(convertKeywordsYes.ts, 5, 3)) + +var interface = 0; +>interface : Symbol(interface, Decl(convertKeywordsYes.ts, 6, 3)) + +var let = 0; +>let : Symbol(let, Decl(convertKeywordsYes.ts, 7, 3)) + +var module = 0; +>module : Symbol(module, Decl(convertKeywordsYes.ts, 8, 3)) + +var number = 0; +>number : Symbol(number, Decl(convertKeywordsYes.ts, 9, 3)) + +var package = 0; +>package : Symbol(package, Decl(convertKeywordsYes.ts, 10, 3)) + +var private = 0; +>private : Symbol(private, Decl(convertKeywordsYes.ts, 11, 3)) + +var protected = 0; +>protected : Symbol(protected, Decl(convertKeywordsYes.ts, 12, 3)) + +var public = 0; +>public : Symbol(public, Decl(convertKeywordsYes.ts, 13, 3)) + +var set = 0; +>set : Symbol(set, Decl(convertKeywordsYes.ts, 14, 3)) + +var static = 0; +>static : Symbol(static, Decl(convertKeywordsYes.ts, 15, 3)) + +var string = 0; +>string : Symbol(string, Decl(convertKeywordsYes.ts, 16, 3)) + +var get = 0; +>get : Symbol(get, Decl(convertKeywordsYes.ts, 17, 3)) + +var yield = 0; +>yield : Symbol(yield, Decl(convertKeywordsYes.ts, 18, 3)) + +var declare = 0; +>declare : Symbol(declare, Decl(convertKeywordsYes.ts, 19, 3)) + +function bigGeneric< +>bigGeneric : Symbol(bigGeneric, Decl(convertKeywordsYes.ts, 19, 16)) + + constructor, +>constructor : Symbol(constructor, Decl(convertKeywordsYes.ts, 21, 20)) + + implements , +>implements : Symbol(implements, Decl(convertKeywordsYes.ts, 22, 16)) + + interface , +>interface : Symbol(interface, Decl(convertKeywordsYes.ts, 23, 16)) + + let, +>let : Symbol(let, Decl(convertKeywordsYes.ts, 24, 15)) + + module , +>module : Symbol(module, Decl(convertKeywordsYes.ts, 25, 8)) + + package, +>package : Symbol(package, Decl(convertKeywordsYes.ts, 26, 12)) + + private , +>private : Symbol(private, Decl(convertKeywordsYes.ts, 27, 12)) + + protected, +>protected : Symbol(protected, Decl(convertKeywordsYes.ts, 28, 13)) + + public , +>public : Symbol(public, Decl(convertKeywordsYes.ts, 29, 14)) + + set , +>set : Symbol(set, Decl(convertKeywordsYes.ts, 30, 12)) + + static , +>static : Symbol(static, Decl(convertKeywordsYes.ts, 31, 9)) + + get , +>get : Symbol(get, Decl(convertKeywordsYes.ts, 32, 12)) + + yield, +>yield : Symbol(yield, Decl(convertKeywordsYes.ts, 33, 9)) + + declare +>declare : Symbol(declare, Decl(convertKeywordsYes.ts, 34, 10)) + + >(c: constructor, +>c : Symbol(c, Decl(convertKeywordsYes.ts, 36, 6)) +>constructor : Symbol(constructor, Decl(convertKeywordsYes.ts, 21, 20)) + + a: any, +>a : Symbol(a, Decl(convertKeywordsYes.ts, 36, 21)) + + b2: boolean, +>b2 : Symbol(b2, Decl(convertKeywordsYes.ts, 37, 11)) + + i: implements , +>i : Symbol(i, Decl(convertKeywordsYes.ts, 38, 16)) +>implements : Symbol(implements, Decl(convertKeywordsYes.ts, 22, 16)) + + i2: interface , +>i2 : Symbol(i2, Decl(convertKeywordsYes.ts, 39, 19)) +>interface : Symbol(interface, Decl(convertKeywordsYes.ts, 23, 16)) + + l: let, +>l : Symbol(l, Decl(convertKeywordsYes.ts, 40, 19)) +>let : Symbol(let, Decl(convertKeywordsYes.ts, 24, 15)) + + m: module , +>m : Symbol(m, Decl(convertKeywordsYes.ts, 41, 11)) +>module : Symbol(module, Decl(convertKeywordsYes.ts, 25, 8)) + + n: number, +>n : Symbol(n, Decl(convertKeywordsYes.ts, 42, 15)) + + p: package, +>p : Symbol(p, Decl(convertKeywordsYes.ts, 43, 14)) +>package : Symbol(package, Decl(convertKeywordsYes.ts, 26, 12)) + + p2: private , +>p2 : Symbol(p2, Decl(convertKeywordsYes.ts, 44, 15)) +>private : Symbol(private, Decl(convertKeywordsYes.ts, 27, 12)) + + p3: protected, +>p3 : Symbol(p3, Decl(convertKeywordsYes.ts, 45, 17)) +>protected : Symbol(protected, Decl(convertKeywordsYes.ts, 28, 13)) + + p4: public , +>p4 : Symbol(p4, Decl(convertKeywordsYes.ts, 46, 18)) +>public : Symbol(public, Decl(convertKeywordsYes.ts, 29, 14)) + + s: set , +>s : Symbol(s, Decl(convertKeywordsYes.ts, 47, 16)) +>set : Symbol(set, Decl(convertKeywordsYes.ts, 30, 12)) + + s2: static , +>s2 : Symbol(s2, Decl(convertKeywordsYes.ts, 48, 12)) +>static : Symbol(static, Decl(convertKeywordsYes.ts, 31, 9)) + + s3: string, +>s3 : Symbol(s3, Decl(convertKeywordsYes.ts, 49, 16)) + + g: get , +>g : Symbol(g, Decl(convertKeywordsYes.ts, 50, 15)) +>get : Symbol(get, Decl(convertKeywordsYes.ts, 32, 12)) + + y: yield, +>y : Symbol(y, Decl(convertKeywordsYes.ts, 51, 12)) +>yield : Symbol(yield, Decl(convertKeywordsYes.ts, 33, 9)) + + d: declare ) { } +>d : Symbol(d, Decl(convertKeywordsYes.ts, 52, 13)) +>declare : Symbol(declare, Decl(convertKeywordsYes.ts, 34, 10)) + +var bigObject = { +>bigObject : Symbol(bigObject, Decl(convertKeywordsYes.ts, 55, 3)) + + constructor: 0, +>constructor : Symbol(constructor, Decl(convertKeywordsYes.ts, 55, 17)) + + any: 0, +>any : Symbol(any, Decl(convertKeywordsYes.ts, 56, 19)) + + boolean: 0, +>boolean : Symbol(boolean, Decl(convertKeywordsYes.ts, 57, 11)) + + implements: 0, +>implements : Symbol(implements, Decl(convertKeywordsYes.ts, 58, 15)) + + interface: 0, +>interface : Symbol(interface, Decl(convertKeywordsYes.ts, 59, 18)) + + let: 0, +>let : Symbol(let, Decl(convertKeywordsYes.ts, 60, 17)) + + module: 0, +>module : Symbol(module, Decl(convertKeywordsYes.ts, 61, 11)) + + number: 0, +>number : Symbol(number, Decl(convertKeywordsYes.ts, 62, 14)) + + package: 0, +>package : Symbol(package, Decl(convertKeywordsYes.ts, 63, 14)) + + private: 0, +>private : Symbol(private, Decl(convertKeywordsYes.ts, 64, 15)) + + protected: 0, +>protected : Symbol(protected, Decl(convertKeywordsYes.ts, 65, 15)) + + public: 0, +>public : Symbol(public, Decl(convertKeywordsYes.ts, 66, 17)) + + set: 0, +>set : Symbol(set, Decl(convertKeywordsYes.ts, 67, 14)) + + static: 0, +>static : Symbol(static, Decl(convertKeywordsYes.ts, 68, 11)) + + string: 0, +>string : Symbol(string, Decl(convertKeywordsYes.ts, 69, 14)) + + get: 0, +>get : Symbol(get, Decl(convertKeywordsYes.ts, 70, 14)) + + yield: 0, +>yield : Symbol(yield, Decl(convertKeywordsYes.ts, 71, 11)) + + break: 0, +>break : Symbol(break, Decl(convertKeywordsYes.ts, 72, 13)) + + case: 0, +>case : Symbol(case, Decl(convertKeywordsYes.ts, 73, 13)) + + catch: 0, +>catch : Symbol(catch, Decl(convertKeywordsYes.ts, 74, 12)) + + class: 0, +>class : Symbol(class, Decl(convertKeywordsYes.ts, 75, 13)) + + continue: 0, +>continue : Symbol(continue, Decl(convertKeywordsYes.ts, 76, 13)) + + const: 0, +>const : Symbol(const, Decl(convertKeywordsYes.ts, 77, 16)) + + debugger: 0, +>debugger : Symbol(debugger, Decl(convertKeywordsYes.ts, 78, 13)) + + declare: 0, +>declare : Symbol(declare, Decl(convertKeywordsYes.ts, 80, 16)) + + default: 0, +>default : Symbol(default, Decl(convertKeywordsYes.ts, 81, 15)) + + delete: 0, +>delete : Symbol(delete, Decl(convertKeywordsYes.ts, 82, 15)) + + do: 0, +>do : Symbol(do, Decl(convertKeywordsYes.ts, 83, 14)) + + else: 0, +>else : Symbol(else, Decl(convertKeywordsYes.ts, 84, 10)) + + enum: 0, +>enum : Symbol(enum, Decl(convertKeywordsYes.ts, 85, 12)) + + export: 0, +>export : Symbol(export, Decl(convertKeywordsYes.ts, 86, 12)) + + extends: 0, +>extends : Symbol(extends, Decl(convertKeywordsYes.ts, 87, 14)) + + false: 0, +>false : Symbol(false, Decl(convertKeywordsYes.ts, 88, 15)) + + finally: 0, +>finally : Symbol(finally, Decl(convertKeywordsYes.ts, 89, 13)) + + for: 0, +>for : Symbol(for, Decl(convertKeywordsYes.ts, 90, 15)) + + function: 0, +>function : Symbol(function, Decl(convertKeywordsYes.ts, 91, 11)) + + if: 0, +>if : Symbol(if, Decl(convertKeywordsYes.ts, 92, 16)) + + import: 0, +>import : Symbol(import, Decl(convertKeywordsYes.ts, 93, 10)) + + in: 0, +>in : Symbol(in, Decl(convertKeywordsYes.ts, 95, 14)) + + instanceof: 0, +>instanceof : Symbol(instanceof, Decl(convertKeywordsYes.ts, 96, 10)) + + new: 0, +>new : Symbol(new, Decl(convertKeywordsYes.ts, 97, 18)) + + null: 0, +>null : Symbol(null, Decl(convertKeywordsYes.ts, 98, 11)) + + return: 0, +>return : Symbol(return, Decl(convertKeywordsYes.ts, 99, 12)) + + super: 0, +>super : Symbol(super, Decl(convertKeywordsYes.ts, 100, 14)) + + switch: 0, +>switch : Symbol(switch, Decl(convertKeywordsYes.ts, 101, 13)) + + this: 0, +>this : Symbol(this, Decl(convertKeywordsYes.ts, 102, 14)) + + throw: 0, +>throw : Symbol(throw, Decl(convertKeywordsYes.ts, 103, 12)) + + true: 0, +>true : Symbol(true, Decl(convertKeywordsYes.ts, 104, 13)) + + try: 0, +>try : Symbol(try, Decl(convertKeywordsYes.ts, 105, 12)) + + typeof: 0, +>typeof : Symbol(typeof, Decl(convertKeywordsYes.ts, 106, 11)) + + var: 0, +>var : Symbol(var, Decl(convertKeywordsYes.ts, 107, 14)) + + void: 0, +>void : Symbol(void, Decl(convertKeywordsYes.ts, 108, 11)) + + while: 0, +>while : Symbol(while, Decl(convertKeywordsYes.ts, 109, 12)) + + with: 0, +>with : Symbol(with, Decl(convertKeywordsYes.ts, 110, 13)) + +}; + +interface bigInterface { +>bigInterface : Symbol(bigInterface, Decl(convertKeywordsYes.ts, 112, 2)) + + constructor; +>constructor : Symbol(bigInterface.constructor, Decl(convertKeywordsYes.ts, 114, 24)) + + any; +>any : Symbol(bigInterface.any, Decl(convertKeywordsYes.ts, 115, 16)) + + boolean; +>boolean : Symbol(bigInterface.boolean, Decl(convertKeywordsYes.ts, 116, 8)) + + implements; +>implements : Symbol(bigInterface.implements, Decl(convertKeywordsYes.ts, 117, 12)) + + interface; +>interface : Symbol(bigInterface.interface, Decl(convertKeywordsYes.ts, 118, 15)) + + let; +>let : Symbol(bigInterface.let, Decl(convertKeywordsYes.ts, 119, 14)) + + module; +>module : Symbol(bigInterface.module, Decl(convertKeywordsYes.ts, 120, 8)) + + number; +>number : Symbol(bigInterface.number, Decl(convertKeywordsYes.ts, 121, 11)) + + package; +>package : Symbol(bigInterface.package, Decl(convertKeywordsYes.ts, 122, 11)) + + private; +>private : Symbol(bigInterface.private, Decl(convertKeywordsYes.ts, 123, 12)) + + protected; +>protected : Symbol(bigInterface.protected, Decl(convertKeywordsYes.ts, 124, 12)) + + public; +>public : Symbol(bigInterface.public, Decl(convertKeywordsYes.ts, 125, 14)) + + set; +>set : Symbol(bigInterface.set, Decl(convertKeywordsYes.ts, 126, 11)) + + static; +>static : Symbol(bigInterface.static, Decl(convertKeywordsYes.ts, 127, 8)) + + string; +>string : Symbol(bigInterface.string, Decl(convertKeywordsYes.ts, 128, 11)) + + get; +>get : Symbol(bigInterface.get, Decl(convertKeywordsYes.ts, 129, 11)) + + yield; +>yield : Symbol(bigInterface.yield, Decl(convertKeywordsYes.ts, 130, 8)) + + break; +>break : Symbol(bigInterface.break, Decl(convertKeywordsYes.ts, 131, 10)) + + case; +>case : Symbol(bigInterface.case, Decl(convertKeywordsYes.ts, 132, 10)) + + catch; +>catch : Symbol(bigInterface.catch, Decl(convertKeywordsYes.ts, 133, 9)) + + class; +>class : Symbol(bigInterface.class, Decl(convertKeywordsYes.ts, 134, 10)) + + continue; +>continue : Symbol(bigInterface.continue, Decl(convertKeywordsYes.ts, 135, 10)) + + const; +>const : Symbol(bigInterface.const, Decl(convertKeywordsYes.ts, 136, 13)) + + debugger; +>debugger : Symbol(bigInterface.debugger, Decl(convertKeywordsYes.ts, 137, 10)) + + declare; +>declare : Symbol(bigInterface.declare, Decl(convertKeywordsYes.ts, 139, 13)) + + default; +>default : Symbol(bigInterface.default, Decl(convertKeywordsYes.ts, 140, 12)) + + delete; +>delete : Symbol(bigInterface.delete, Decl(convertKeywordsYes.ts, 141, 12)) + + do; +>do : Symbol(bigInterface.do, Decl(convertKeywordsYes.ts, 142, 11)) + + else; +>else : Symbol(bigInterface.else, Decl(convertKeywordsYes.ts, 143, 7)) + + enum; +>enum : Symbol(bigInterface.enum, Decl(convertKeywordsYes.ts, 144, 9)) + + export; +>export : Symbol(bigInterface.export, Decl(convertKeywordsYes.ts, 145, 9)) + + extends; +>extends : Symbol(bigInterface.extends, Decl(convertKeywordsYes.ts, 146, 11)) + + false; +>false : Symbol(bigInterface.false, Decl(convertKeywordsYes.ts, 147, 12)) + + finally; +>finally : Symbol(bigInterface.finally, Decl(convertKeywordsYes.ts, 148, 10)) + + for; +>for : Symbol(bigInterface.for, Decl(convertKeywordsYes.ts, 149, 12)) + + function; +>function : Symbol(bigInterface.function, Decl(convertKeywordsYes.ts, 150, 8)) + + if; +>if : Symbol(bigInterface.if, Decl(convertKeywordsYes.ts, 151, 13)) + + import; +>import : Symbol(bigInterface.import, Decl(convertKeywordsYes.ts, 152, 7)) + + in; +>in : Symbol(bigInterface.in, Decl(convertKeywordsYes.ts, 154, 11)) + + instanceof; +>instanceof : Symbol(bigInterface.instanceof, Decl(convertKeywordsYes.ts, 155, 7)) + + new; +>new : Symbol(bigInterface.new, Decl(convertKeywordsYes.ts, 156, 15)) + + null; +>null : Symbol(bigInterface.null, Decl(convertKeywordsYes.ts, 157, 8)) + + return; +>return : Symbol(bigInterface.return, Decl(convertKeywordsYes.ts, 158, 9)) + + super; +>super : Symbol(bigInterface.super, Decl(convertKeywordsYes.ts, 159, 11)) + + switch; +>switch : Symbol(bigInterface.switch, Decl(convertKeywordsYes.ts, 160, 10)) + + this; +>this : Symbol(bigInterface.this, Decl(convertKeywordsYes.ts, 161, 11)) + + throw; +>throw : Symbol(bigInterface.throw, Decl(convertKeywordsYes.ts, 162, 9)) + + true; +>true : Symbol(bigInterface.true, Decl(convertKeywordsYes.ts, 163, 10)) + + try; +>try : Symbol(bigInterface.try, Decl(convertKeywordsYes.ts, 164, 9)) + + typeof; +>typeof : Symbol(bigInterface.typeof, Decl(convertKeywordsYes.ts, 165, 8)) + + var; +>var : Symbol(bigInterface.var, Decl(convertKeywordsYes.ts, 166, 11)) + + void; +>void : Symbol(bigInterface.void, Decl(convertKeywordsYes.ts, 167, 8)) + + while; +>while : Symbol(bigInterface.while, Decl(convertKeywordsYes.ts, 168, 9)) + + with; +>with : Symbol(bigInterface.with, Decl(convertKeywordsYes.ts, 169, 10)) +} + +class bigClass { +>bigClass : Symbol(bigClass, Decl(convertKeywordsYes.ts, 171, 1)) + + public "constructor" = 0; +>"constructor" : Symbol(bigClass["constructor"], Decl(convertKeywordsYes.ts, 173, 16)) + + public any = 0; +>any : Symbol(bigClass.any, Decl(convertKeywordsYes.ts, 174, 29)) + + public boolean = 0; +>boolean : Symbol(bigClass.boolean, Decl(convertKeywordsYes.ts, 175, 19)) + + public implements = 0; +>implements : Symbol(bigClass.implements, Decl(convertKeywordsYes.ts, 176, 23)) + + public interface = 0; +>interface : Symbol(bigClass.interface, Decl(convertKeywordsYes.ts, 177, 26)) + + public let = 0; +>let : Symbol(bigClass.let, Decl(convertKeywordsYes.ts, 178, 25)) + + public module = 0; +>module : Symbol(bigClass.module, Decl(convertKeywordsYes.ts, 179, 19)) + + public number = 0; +>number : Symbol(bigClass.number, Decl(convertKeywordsYes.ts, 180, 22)) + + public package = 0; +>package : Symbol(bigClass.package, Decl(convertKeywordsYes.ts, 181, 22)) + + public private = 0; +>private : Symbol(bigClass.private, Decl(convertKeywordsYes.ts, 182, 23)) + + public protected = 0; +>protected : Symbol(bigClass.protected, Decl(convertKeywordsYes.ts, 183, 23)) + + public public = 0; +>public : Symbol(bigClass.public, Decl(convertKeywordsYes.ts, 184, 25)) + + public set = 0; +>set : Symbol(bigClass.set, Decl(convertKeywordsYes.ts, 185, 22)) + + public static = 0; +>static : Symbol(bigClass.static, Decl(convertKeywordsYes.ts, 186, 19)) + + public string = 0; +>string : Symbol(bigClass.string, Decl(convertKeywordsYes.ts, 187, 22)) + + public get = 0; +>get : Symbol(bigClass.get, Decl(convertKeywordsYes.ts, 188, 22)) + + public yield = 0; +>yield : Symbol(bigClass.yield, Decl(convertKeywordsYes.ts, 189, 19)) + + public break = 0; +>break : Symbol(bigClass.break, Decl(convertKeywordsYes.ts, 190, 21)) + + public case = 0; +>case : Symbol(bigClass.case, Decl(convertKeywordsYes.ts, 191, 21)) + + public catch = 0; +>catch : Symbol(bigClass.catch, Decl(convertKeywordsYes.ts, 192, 20)) + + public class = 0; +>class : Symbol(bigClass.class, Decl(convertKeywordsYes.ts, 193, 21)) + + public continue = 0; +>continue : Symbol(bigClass.continue, Decl(convertKeywordsYes.ts, 194, 21)) + + public const = 0; +>const : Symbol(bigClass.const, Decl(convertKeywordsYes.ts, 195, 24)) + + public debugger = 0; +>debugger : Symbol(bigClass.debugger, Decl(convertKeywordsYes.ts, 196, 21)) + + public declare = 0; +>declare : Symbol(bigClass.declare, Decl(convertKeywordsYes.ts, 197, 24)) + + public default = 0; +>default : Symbol(bigClass.default, Decl(convertKeywordsYes.ts, 198, 23)) + + public delete = 0; +>delete : Symbol(bigClass.delete, Decl(convertKeywordsYes.ts, 199, 23)) + + public do = 0; +>do : Symbol(bigClass.do, Decl(convertKeywordsYes.ts, 200, 22)) + + public else = 0; +>else : Symbol(bigClass.else, Decl(convertKeywordsYes.ts, 201, 18)) + + public enum = 0; +>enum : Symbol(bigClass.enum, Decl(convertKeywordsYes.ts, 202, 20)) + + public export = 0; +>export : Symbol(bigClass.export, Decl(convertKeywordsYes.ts, 203, 20)) + + public extends = 0; +>extends : Symbol(bigClass.extends, Decl(convertKeywordsYes.ts, 204, 22)) + + public false = 0; +>false : Symbol(bigClass.false, Decl(convertKeywordsYes.ts, 205, 23)) + + public finally = 0; +>finally : Symbol(bigClass.finally, Decl(convertKeywordsYes.ts, 206, 21)) + + public for = 0; +>for : Symbol(bigClass.for, Decl(convertKeywordsYes.ts, 207, 23)) + + public function = 0; +>function : Symbol(bigClass.function, Decl(convertKeywordsYes.ts, 208, 19)) + + public if = 0; +>if : Symbol(bigClass.if, Decl(convertKeywordsYes.ts, 209, 24)) + + public import = 0; +>import : Symbol(bigClass.import, Decl(convertKeywordsYes.ts, 210, 18)) + + public in = 0; +>in : Symbol(bigClass.in, Decl(convertKeywordsYes.ts, 211, 22)) + + public instanceof = 0; +>instanceof : Symbol(bigClass.instanceof, Decl(convertKeywordsYes.ts, 212, 18)) + + public new = 0; +>new : Symbol(bigClass.new, Decl(convertKeywordsYes.ts, 213, 26)) + + public null = 0; +>null : Symbol(bigClass.null, Decl(convertKeywordsYes.ts, 214, 19)) + + public return = 0; +>return : Symbol(bigClass.return, Decl(convertKeywordsYes.ts, 215, 20)) + + public super = 0; +>super : Symbol(bigClass.super, Decl(convertKeywordsYes.ts, 216, 22)) + + public switch = 0; +>switch : Symbol(bigClass.switch, Decl(convertKeywordsYes.ts, 217, 21)) + + public this = 0; +>this : Symbol(bigClass.this, Decl(convertKeywordsYes.ts, 218, 22)) + + public throw = 0; +>throw : Symbol(bigClass.throw, Decl(convertKeywordsYes.ts, 219, 20)) + + public true = 0; +>true : Symbol(bigClass.true, Decl(convertKeywordsYes.ts, 220, 21)) + + public try = 0; +>try : Symbol(bigClass.try, Decl(convertKeywordsYes.ts, 221, 20)) + + public typeof = 0; +>typeof : Symbol(bigClass.typeof, Decl(convertKeywordsYes.ts, 222, 19)) + + public var = 0; +>var : Symbol(bigClass.var, Decl(convertKeywordsYes.ts, 223, 22)) + + public void = 0; +>void : Symbol(bigClass.void, Decl(convertKeywordsYes.ts, 224, 19)) + + public while = 0; +>while : Symbol(bigClass.while, Decl(convertKeywordsYes.ts, 225, 20)) + + public with = 0; +>with : Symbol(bigClass.with, Decl(convertKeywordsYes.ts, 226, 21)) +} + +enum bigEnum { +>bigEnum : Symbol(bigEnum, Decl(convertKeywordsYes.ts, 228, 1)) + + constructor, +>constructor : Symbol(bigEnum.constructor, Decl(convertKeywordsYes.ts, 230, 14)) + + any, +>any : Symbol(bigEnum.any, Decl(convertKeywordsYes.ts, 231, 16)) + + boolean, +>boolean : Symbol(bigEnum.boolean, Decl(convertKeywordsYes.ts, 232, 8)) + + implements, +>implements : Symbol(bigEnum.implements, Decl(convertKeywordsYes.ts, 233, 12)) + + interface, +>interface : Symbol(bigEnum.interface, Decl(convertKeywordsYes.ts, 234, 15)) + + let, +>let : Symbol(bigEnum.let, Decl(convertKeywordsYes.ts, 235, 14)) + + module, +>module : Symbol(bigEnum.module, Decl(convertKeywordsYes.ts, 236, 8)) + + number, +>number : Symbol(bigEnum.number, Decl(convertKeywordsYes.ts, 237, 11)) + + package, +>package : Symbol(bigEnum.package, Decl(convertKeywordsYes.ts, 238, 11)) + + private, +>private : Symbol(bigEnum.private, Decl(convertKeywordsYes.ts, 239, 12)) + + protected, +>protected : Symbol(bigEnum.protected, Decl(convertKeywordsYes.ts, 240, 12)) + + public, +>public : Symbol(bigEnum.public, Decl(convertKeywordsYes.ts, 241, 14)) + + set, +>set : Symbol(bigEnum.set, Decl(convertKeywordsYes.ts, 242, 11)) + + static, +>static : Symbol(bigEnum.static, Decl(convertKeywordsYes.ts, 243, 8)) + + string, +>string : Symbol(bigEnum.string, Decl(convertKeywordsYes.ts, 244, 11)) + + get, +>get : Symbol(bigEnum.get, Decl(convertKeywordsYes.ts, 245, 11)) + + yield, +>yield : Symbol(bigEnum.yield, Decl(convertKeywordsYes.ts, 246, 8)) + + break, +>break : Symbol(bigEnum.break, Decl(convertKeywordsYes.ts, 247, 10)) + + case, +>case : Symbol(bigEnum.case, Decl(convertKeywordsYes.ts, 248, 10)) + + catch, +>catch : Symbol(bigEnum.catch, Decl(convertKeywordsYes.ts, 249, 9)) + + class, +>class : Symbol(bigEnum.class, Decl(convertKeywordsYes.ts, 250, 10)) + + continue, +>continue : Symbol(bigEnum.continue, Decl(convertKeywordsYes.ts, 251, 10)) + + const, +>const : Symbol(bigEnum.const, Decl(convertKeywordsYes.ts, 252, 13)) + + debugger, +>debugger : Symbol(bigEnum.debugger, Decl(convertKeywordsYes.ts, 253, 10)) + + declare, +>declare : Symbol(bigEnum.declare, Decl(convertKeywordsYes.ts, 255, 13)) + + default, +>default : Symbol(bigEnum.default, Decl(convertKeywordsYes.ts, 256, 12)) + + delete, +>delete : Symbol(bigEnum.delete, Decl(convertKeywordsYes.ts, 257, 12)) + + do, +>do : Symbol(bigEnum.do, Decl(convertKeywordsYes.ts, 258, 11)) + + else, +>else : Symbol(bigEnum.else, Decl(convertKeywordsYes.ts, 259, 7)) + + enum, +>enum : Symbol(bigEnum.enum, Decl(convertKeywordsYes.ts, 260, 9)) + + export, +>export : Symbol(bigEnum.export, Decl(convertKeywordsYes.ts, 261, 9)) + + extends, +>extends : Symbol(bigEnum.extends, Decl(convertKeywordsYes.ts, 262, 11)) + + false, +>false : Symbol(bigEnum.false, Decl(convertKeywordsYes.ts, 263, 12)) + + finally, +>finally : Symbol(bigEnum.finally, Decl(convertKeywordsYes.ts, 264, 10)) + + for, +>for : Symbol(bigEnum.for, Decl(convertKeywordsYes.ts, 265, 12)) + + function, +>function : Symbol(bigEnum.function, Decl(convertKeywordsYes.ts, 266, 8)) + + if, +>if : Symbol(bigEnum.if, Decl(convertKeywordsYes.ts, 267, 13)) + + import, +>import : Symbol(bigEnum.import, Decl(convertKeywordsYes.ts, 268, 7)) + + in, +>in : Symbol(bigEnum.in, Decl(convertKeywordsYes.ts, 270, 11)) + + instanceof, +>instanceof : Symbol(bigEnum.instanceof, Decl(convertKeywordsYes.ts, 271, 7)) + + new, +>new : Symbol(bigEnum.new, Decl(convertKeywordsYes.ts, 272, 15)) + + null, +>null : Symbol(bigEnum.null, Decl(convertKeywordsYes.ts, 273, 8)) + + return, +>return : Symbol(bigEnum.return, Decl(convertKeywordsYes.ts, 274, 9)) + + super, +>super : Symbol(bigEnum.super, Decl(convertKeywordsYes.ts, 275, 11)) + + switch, +>switch : Symbol(bigEnum.switch, Decl(convertKeywordsYes.ts, 276, 10)) + + this, +>this : Symbol(bigEnum.this, Decl(convertKeywordsYes.ts, 277, 11)) + + throw, +>throw : Symbol(bigEnum.throw, Decl(convertKeywordsYes.ts, 278, 9)) + + true, +>true : Symbol(bigEnum.true, Decl(convertKeywordsYes.ts, 279, 10)) + + try, +>try : Symbol(bigEnum.try, Decl(convertKeywordsYes.ts, 280, 9)) + + typeof, +>typeof : Symbol(bigEnum.typeof, Decl(convertKeywordsYes.ts, 281, 8)) + + var, +>var : Symbol(bigEnum.var, Decl(convertKeywordsYes.ts, 282, 11)) + + void, +>void : Symbol(bigEnum.void, Decl(convertKeywordsYes.ts, 283, 8)) + + while, +>while : Symbol(bigEnum.while, Decl(convertKeywordsYes.ts, 284, 9)) + + with, +>with : Symbol(bigEnum.with, Decl(convertKeywordsYes.ts, 285, 10)) +} + +namespace bigModule { +>bigModule : Symbol(bigModule, Decl(convertKeywordsYes.ts, 287, 1)) + + class constructor { } +>constructor : Symbol(constructor, Decl(convertKeywordsYes.ts, 289, 21)) + + class implements { } +>implements : Symbol(implements, Decl(convertKeywordsYes.ts, 290, 25)) + + class interface { } +>interface : Symbol(interface, Decl(convertKeywordsYes.ts, 291, 24)) + + class let { } +>let : Symbol(let, Decl(convertKeywordsYes.ts, 292, 23)) + + class module { } +>module : Symbol(module, Decl(convertKeywordsYes.ts, 293, 17)) + + class package { } +>package : Symbol(package, Decl(convertKeywordsYes.ts, 294, 20)) + + class private { } +>private : Symbol(private, Decl(convertKeywordsYes.ts, 295, 21)) + + class protected { } +>protected : Symbol(protected, Decl(convertKeywordsYes.ts, 296, 21)) + + class public { } +>public : Symbol(public, Decl(convertKeywordsYes.ts, 297, 23)) + + class set { } +>set : Symbol(set, Decl(convertKeywordsYes.ts, 298, 20)) + + class static { } +>static : Symbol(static, Decl(convertKeywordsYes.ts, 299, 17)) + + class get { } +>get : Symbol(get, Decl(convertKeywordsYes.ts, 300, 20)) + + class yield { } +>yield : Symbol(yield, Decl(convertKeywordsYes.ts, 301, 17)) + + class declare { } +>declare : Symbol(declare, Decl(convertKeywordsYes.ts, 302, 19)) +} diff --git a/testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).types b/testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).types new file mode 100644 index 00000000000..544c9c97de6 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/convertKeywordsYes(alwaysstrict=false).types @@ -0,0 +1,965 @@ +//// [tests/cases/compiler/convertKeywordsYes.ts] //// + +=== convertKeywordsYes.ts === +// reserved ES5 future in strict mode + +var constructor = 0; +>constructor : number +>0 : 0 + +var any = 0; +>any : number +>0 : 0 + +var boolean = 0; +>boolean : number +>0 : 0 + +var implements = 0; +>implements : number +>0 : 0 + +var interface = 0; +>interface : number +>0 : 0 + +var let = 0; +>let : number +>0 : 0 + +var module = 0; +>module : number +>0 : 0 + +var number = 0; +>number : number +>0 : 0 + +var package = 0; +>package : number +>0 : 0 + +var private = 0; +>private : number +>0 : 0 + +var protected = 0; +>protected : number +>0 : 0 + +var public = 0; +>public : number +>0 : 0 + +var set = 0; +>set : number +>0 : 0 + +var static = 0; +>static : number +>0 : 0 + +var string = 0; +>string : number +>0 : 0 + +var get = 0; +>get : number +>0 : 0 + +var yield = 0; +>yield : number +>0 : 0 + +var declare = 0; +>declare : number +>0 : 0 + +function bigGeneric< +>bigGeneric : (c: constructor, a: any, b2: boolean, i: implements, i2: interface, l: let, m: module, n: number, p: package, p2: private, p3: protected, p4: public, s: set, s2: static, s3: string, g: get, y: yield, d: declare) => void + + constructor, + implements , + interface , + let, + module , + package, + private , + protected, + public , + set , + static , + get , + yield, + declare + >(c: constructor, +>c : constructor + + a: any, +>a : any + + b2: boolean, +>b2 : boolean + + i: implements , +>i : implements + + i2: interface , +>i2 : interface + + l: let, +>l : let + + m: module , +>m : module + + n: number, +>n : number + + p: package, +>p : package + + p2: private , +>p2 : private + + p3: protected, +>p3 : protected + + p4: public , +>p4 : public + + s: set , +>s : set + + s2: static , +>s2 : static + + s3: string, +>s3 : string + + g: get , +>g : get + + y: yield, +>y : yield + + d: declare ) { } +>d : declare + +var bigObject = { +>bigObject : { constructor: number; any: number; boolean: number; implements: number; interface: number; let: number; module: number; number: number; package: number; private: number; protected: number; public: number; set: number; static: number; string: number; get: number; yield: number; break: number; case: number; catch: number; class: number; continue: number; const: number; debugger: number; declare: number; default: number; delete: number; do: number; else: number; enum: number; export: number; extends: number; false: number; finally: number; for: number; function: number; if: number; import: number; in: number; instanceof: number; new: number; null: number; return: number; super: number; switch: number; this: number; throw: number; true: number; try: number; typeof: number; var: number; void: number; while: number; with: number; } +>{ constructor: 0, any: 0, boolean: 0, implements: 0, interface: 0, let: 0, module: 0, number: 0, package: 0, private: 0, protected: 0, public: 0, set: 0, static: 0, string: 0, get: 0, yield: 0, break: 0, case: 0, catch: 0, class: 0, continue: 0, const: 0, debugger: 0, declare: 0, default: 0, delete: 0, do: 0, else: 0, enum: 0, export: 0, extends: 0, false: 0, finally: 0, for: 0, function: 0, if: 0, import: 0, in: 0, instanceof: 0, new: 0, null: 0, return: 0, super: 0, switch: 0, this: 0, throw: 0, true: 0, try: 0, typeof: 0, var: 0, void: 0, while: 0, with: 0,} : { constructor: number; any: number; boolean: number; implements: number; interface: number; let: number; module: number; number: number; package: number; private: number; protected: number; public: number; set: number; static: number; string: number; get: number; yield: number; break: number; case: number; catch: number; class: number; continue: number; const: number; debugger: number; declare: number; default: number; delete: number; do: number; else: number; enum: number; export: number; extends: number; false: number; finally: number; for: number; function: number; if: number; import: number; in: number; instanceof: number; new: number; null: number; return: number; super: number; switch: number; this: number; throw: number; true: number; try: number; typeof: number; var: number; void: number; while: number; with: number; } + + constructor: 0, +>constructor : number +>0 : 0 + + any: 0, +>any : number +>0 : 0 + + boolean: 0, +>boolean : number +>0 : 0 + + implements: 0, +>implements : number +>0 : 0 + + interface: 0, +>interface : number +>0 : 0 + + let: 0, +>let : number +>0 : 0 + + module: 0, +>module : number +>0 : 0 + + number: 0, +>number : number +>0 : 0 + + package: 0, +>package : number +>0 : 0 + + private: 0, +>private : number +>0 : 0 + + protected: 0, +>protected : number +>0 : 0 + + public: 0, +>public : number +>0 : 0 + + set: 0, +>set : number +>0 : 0 + + static: 0, +>static : number +>0 : 0 + + string: 0, +>string : number +>0 : 0 + + get: 0, +>get : number +>0 : 0 + + yield: 0, +>yield : number +>0 : 0 + + break: 0, +>break : number +>0 : 0 + + case: 0, +>case : number +>0 : 0 + + catch: 0, +>catch : number +>0 : 0 + + class: 0, +>class : number +>0 : 0 + + continue: 0, +>continue : number +>0 : 0 + + const: 0, +>const : number +>0 : 0 + + debugger: 0, +>debugger : number +>0 : 0 + + declare: 0, +>declare : number +>0 : 0 + + default: 0, +>default : number +>0 : 0 + + delete: 0, +>delete : number +>0 : 0 + + do: 0, +>do : number +>0 : 0 + + else: 0, +>else : number +>0 : 0 + + enum: 0, +>enum : number +>0 : 0 + + export: 0, +>export : number +>0 : 0 + + extends: 0, +>extends : number +>0 : 0 + + false: 0, +>false : number +>0 : 0 + + finally: 0, +>finally : number +>0 : 0 + + for: 0, +>for : number +>0 : 0 + + function: 0, +>function : number +>0 : 0 + + if: 0, +>if : number +>0 : 0 + + import: 0, +>import : number +>0 : 0 + + in: 0, +>in : number +>0 : 0 + + instanceof: 0, +>instanceof : number +>0 : 0 + + new: 0, +>new : number +>0 : 0 + + null: 0, +>null : number +>0 : 0 + + return: 0, +>return : number +>0 : 0 + + super: 0, +>super : number +>0 : 0 + + switch: 0, +>switch : number +>0 : 0 + + this: 0, +>this : number +>0 : 0 + + throw: 0, +>throw : number +>0 : 0 + + true: 0, +>true : number +>0 : 0 + + try: 0, +>try : number +>0 : 0 + + typeof: 0, +>typeof : number +>0 : 0 + + var: 0, +>var : number +>0 : 0 + + void: 0, +>void : number +>0 : 0 + + while: 0, +>while : number +>0 : 0 + + with: 0, +>with : number +>0 : 0 + +}; + +interface bigInterface { + constructor; +>constructor : any + + any; +>any : any + + boolean; +>boolean : any + + implements; +>implements : any + + interface; +>interface : any + + let; +>let : any + + module; +>module : any + + number; +>number : any + + package; +>package : any + + private; +>private : any + + protected; +>protected : any + + public; +>public : any + + set; +>set : any + + static; +>static : any + + string; +>string : any + + get; +>get : any + + yield; +>yield : any + + break; +>break : any + + case; +>case : any + + catch; +>catch : any + + class; +>class : any + + continue; +>continue : any + + const; +>const : any + + debugger; +>debugger : any + + declare; +>declare : any + + default; +>default : any + + delete; +>delete : any + + do; +>do : any + + else; +>else : any + + enum; +>enum : any + + export; +>export : any + + extends; +>extends : any + + false; +>false : any + + finally; +>finally : any + + for; +>for : any + + function; +>function : any + + if; +>if : any + + import; +>import : any + + in; +>in : any + + instanceof; +>instanceof : any + + new; +>new : any + + null; +>null : any + + return; +>return : any + + super; +>super : any + + switch; +>switch : any + + this; +>this : any + + throw; +>throw : any + + true; +>true : any + + try; +>try : any + + typeof; +>typeof : any + + var; +>var : any + + void; +>void : any + + while; +>while : any + + with; +>with : any +} + +class bigClass { +>bigClass : bigClass + + public "constructor" = 0; +>"constructor" : number +>0 : 0 + + public any = 0; +>any : number +>0 : 0 + + public boolean = 0; +>boolean : number +>0 : 0 + + public implements = 0; +>implements : number +>0 : 0 + + public interface = 0; +>interface : number +>0 : 0 + + public let = 0; +>let : number +>0 : 0 + + public module = 0; +>module : number +>0 : 0 + + public number = 0; +>number : number +>0 : 0 + + public package = 0; +>package : number +>0 : 0 + + public private = 0; +>private : number +>0 : 0 + + public protected = 0; +>protected : number +>0 : 0 + + public public = 0; +>public : number +>0 : 0 + + public set = 0; +>set : number +>0 : 0 + + public static = 0; +>static : number +>0 : 0 + + public string = 0; +>string : number +>0 : 0 + + public get = 0; +>get : number +>0 : 0 + + public yield = 0; +>yield : number +>0 : 0 + + public break = 0; +>break : number +>0 : 0 + + public case = 0; +>case : number +>0 : 0 + + public catch = 0; +>catch : number +>0 : 0 + + public class = 0; +>class : number +>0 : 0 + + public continue = 0; +>continue : number +>0 : 0 + + public const = 0; +>const : number +>0 : 0 + + public debugger = 0; +>debugger : number +>0 : 0 + + public declare = 0; +>declare : number +>0 : 0 + + public default = 0; +>default : number +>0 : 0 + + public delete = 0; +>delete : number +>0 : 0 + + public do = 0; +>do : number +>0 : 0 + + public else = 0; +>else : number +>0 : 0 + + public enum = 0; +>enum : number +>0 : 0 + + public export = 0; +>export : number +>0 : 0 + + public extends = 0; +>extends : number +>0 : 0 + + public false = 0; +>false : number +>0 : 0 + + public finally = 0; +>finally : number +>0 : 0 + + public for = 0; +>for : number +>0 : 0 + + public function = 0; +>function : number +>0 : 0 + + public if = 0; +>if : number +>0 : 0 + + public import = 0; +>import : number +>0 : 0 + + public in = 0; +>in : number +>0 : 0 + + public instanceof = 0; +>instanceof : number +>0 : 0 + + public new = 0; +>new : number +>0 : 0 + + public null = 0; +>null : number +>0 : 0 + + public return = 0; +>return : number +>0 : 0 + + public super = 0; +>super : number +>0 : 0 + + public switch = 0; +>switch : number +>0 : 0 + + public this = 0; +>this : number +>0 : 0 + + public throw = 0; +>throw : number +>0 : 0 + + public true = 0; +>true : number +>0 : 0 + + public try = 0; +>try : number +>0 : 0 + + public typeof = 0; +>typeof : number +>0 : 0 + + public var = 0; +>var : number +>0 : 0 + + public void = 0; +>void : number +>0 : 0 + + public while = 0; +>while : number +>0 : 0 + + public with = 0; +>with : number +>0 : 0 +} + +enum bigEnum { +>bigEnum : bigEnum + + constructor, +>constructor : bigEnum.constructor + + any, +>any : bigEnum.any + + boolean, +>boolean : bigEnum.boolean + + implements, +>implements : bigEnum.implements + + interface, +>interface : bigEnum.interface + + let, +>let : bigEnum.let + + module, +>module : bigEnum.module + + number, +>number : bigEnum.number + + package, +>package : bigEnum.package + + private, +>private : bigEnum.private + + protected, +>protected : bigEnum.protected + + public, +>public : bigEnum.public + + set, +>set : bigEnum.set + + static, +>static : bigEnum.static + + string, +>string : bigEnum.string + + get, +>get : bigEnum.get + + yield, +>yield : bigEnum.yield + + break, +>break : bigEnum.break + + case, +>case : bigEnum.case + + catch, +>catch : bigEnum.catch + + class, +>class : bigEnum.class + + continue, +>continue : bigEnum.continue + + const, +>const : bigEnum.const + + debugger, +>debugger : bigEnum.debugger + + declare, +>declare : bigEnum.declare + + default, +>default : bigEnum.default + + delete, +>delete : bigEnum.delete + + do, +>do : bigEnum.do + + else, +>else : bigEnum.else + + enum, +>enum : bigEnum.enum + + export, +>export : bigEnum.export + + extends, +>extends : bigEnum.extends + + false, +>false : bigEnum.false + + finally, +>finally : bigEnum.finally + + for, +>for : bigEnum.for + + function, +>function : bigEnum.function + + if, +>if : bigEnum.if + + import, +>import : bigEnum.import + + in, +>in : bigEnum.in + + instanceof, +>instanceof : bigEnum.instanceof + + new, +>new : bigEnum.new + + null, +>null : bigEnum.null + + return, +>return : bigEnum.return + + super, +>super : bigEnum.super + + switch, +>switch : bigEnum.switch + + this, +>this : bigEnum.this + + throw, +>throw : bigEnum.throw + + true, +>true : bigEnum.true + + try, +>try : bigEnum.try + + typeof, +>typeof : bigEnum.typeof + + var, +>var : bigEnum.var + + void, +>void : bigEnum.void + + while, +>while : bigEnum.while + + with, +>with : bigEnum.with +} + +namespace bigModule { +>bigModule : typeof bigModule + + class constructor { } +>constructor : constructor + + class implements { } +>implements : implements + + class interface { } +>interface : interface + + class let { } +>let : let + + class module { } +>module : module + + class package { } +>package : package + + class private { } +>private : private + + class protected { } +>protected : protected + + class public { } +>public : public + + class set { } +>set : set + + class static { } +>static : static + + class get { } +>get : get + + class yield { } +>yield : yield + + class declare { } +>declare : declare +} diff --git a/testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).errors.txt b/testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).errors.txt new file mode 100644 index 00000000000..84cf1449b51 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).errors.txt @@ -0,0 +1,75 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +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. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== 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'. + y; + } + } + + 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'. + y; + } + } + + 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'. + a; + await y; + b; + } + } + + 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; + } + } + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).errors.txt.diff new file mode 100644 index 00000000000..34a206c342e --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).errors.txt.diff @@ -0,0 +1,67 @@ +--- old.es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).errors.txt ++++ new.es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).errors.txt +@@= skipped -0, +0 lines =@@ ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++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 (8 errors) ==== ++es5-asyncFunctionWithStatements.ts(25,9): error TS1101: 'with' statements are not allowed in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== 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'. +@@= skipped -23, +32 lines =@@ + 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'. +@@= skipped -10, +12 lines =@@ + 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'. +@@= skipped -12, +14 lines =@@ + 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; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).js new file mode 100644 index 00000000000..aa131d43c00 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).js @@ -0,0 +1,63 @@ +//// [tests/cases/compiler/es5-asyncFunctionWithStatements.ts] //// + +//// [es5-asyncFunctionWithStatements.ts] +declare var x, y, z, a, b, c; + +async function withStatement0() { + with (x) { + y; + } +} + +async function withStatement1() { + with (await x) { + y; + } +} + +async function withStatement2() { + with (x) { + a; + await y; + b; + } +} + +async function withStatement3() { + with (x) { + with (z) { + a; + await y; + b; + } + } +} + +//// [es5-asyncFunctionWithStatements.js] +"use strict"; +async function withStatement0() { + with (x) { + y; + } +} +async function withStatement1() { + with (await x) { + y; + } +} +async function withStatement2() { + with (x) { + a; + await y; + b; + } +} +async function withStatement3() { + with (x) { + with (z) { + a; + await y; + b; + } + } +} diff --git a/testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).js.diff b/testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).js.diff new file mode 100644 index 00000000000..898b4ceaa0e --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).js.diff @@ -0,0 +1,63 @@ +--- old.es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).js ++++ new.es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).js +@@= skipped -33, +33 lines =@@ + } + + //// [es5-asyncFunctionWithStatements.js] +-function withStatement0() { +- return __awaiter(this, void 0, void 0, function* () { +- with (x) { +- y; +- } +- }); +-} +-function withStatement1() { +- return __awaiter(this, void 0, void 0, function* () { +- with (yield x) { +- y; +- } +- }); +-} +-function withStatement2() { +- return __awaiter(this, void 0, void 0, function* () { +- with (x) { ++"use strict"; ++async function withStatement0() { ++ with (x) { ++ y; ++ } ++} ++async function withStatement1() { ++ with (await x) { ++ y; ++ } ++} ++async function withStatement2() { ++ with (x) { ++ a; ++ await y; ++ b; ++ } ++} ++async function withStatement3() { ++ with (x) { ++ with (z) { + a; +- yield y; ++ await y; + b; + } +- }); +-} +-function withStatement3() { +- return __awaiter(this, void 0, void 0, function* () { +- with (x) { +- with (z) { +- a; +- yield y; +- b; +- } +- } +- }); ++ } + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).symbols b/testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).symbols new file mode 100644 index 00000000000..13a98479a6d --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).symbols @@ -0,0 +1,56 @@ +//// [tests/cases/compiler/es5-asyncFunctionWithStatements.ts] //// + +=== es5-asyncFunctionWithStatements.ts === +declare var x, y, z, a, b, c; +>x : Symbol(x, Decl(es5-asyncFunctionWithStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionWithStatements.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionWithStatements.ts, 0, 17)) +>a : Symbol(a, Decl(es5-asyncFunctionWithStatements.ts, 0, 20)) +>b : Symbol(b, Decl(es5-asyncFunctionWithStatements.ts, 0, 23)) +>c : Symbol(c, Decl(es5-asyncFunctionWithStatements.ts, 0, 26)) + +async function withStatement0() { +>withStatement0 : Symbol(withStatement0, Decl(es5-asyncFunctionWithStatements.ts, 0, 29)) + + with (x) { +>x : Symbol(x, Decl(es5-asyncFunctionWithStatements.ts, 0, 11)) + + y; + } +} + +async function withStatement1() { +>withStatement1 : Symbol(withStatement1, Decl(es5-asyncFunctionWithStatements.ts, 6, 1)) + + with (await x) { +>x : Symbol(x, Decl(es5-asyncFunctionWithStatements.ts, 0, 11)) + + y; + } +} + +async function withStatement2() { +>withStatement2 : Symbol(withStatement2, Decl(es5-asyncFunctionWithStatements.ts, 12, 1)) + + with (x) { +>x : Symbol(x, Decl(es5-asyncFunctionWithStatements.ts, 0, 11)) + + a; + await y; + b; + } +} + +async function withStatement3() { +>withStatement3 : Symbol(withStatement3, Decl(es5-asyncFunctionWithStatements.ts, 20, 1)) + + with (x) { +>x : Symbol(x, Decl(es5-asyncFunctionWithStatements.ts, 0, 11)) + + with (z) { + a; + await y; + b; + } + } +} diff --git a/testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).types b/testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).types new file mode 100644 index 00000000000..48c5d711876 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/es5-asyncFunctionWithStatements(alwaysstrict=false,target=es2015).types @@ -0,0 +1,73 @@ +//// [tests/cases/compiler/es5-asyncFunctionWithStatements.ts] //// + +=== es5-asyncFunctionWithStatements.ts === +declare var x, y, z, a, b, c; +>x : any +>y : any +>z : any +>a : any +>b : any +>c : any + +async function withStatement0() { +>withStatement0 : () => Promise + + with (x) { +>x : any + + y; +>y : any + } +} + +async function withStatement1() { +>withStatement1 : () => Promise + + with (await x) { +>await x : any +>x : any + + y; +>y : any + } +} + +async function withStatement2() { +>withStatement2 : () => Promise + + with (x) { +>x : any + + a; +>a : any + + await y; +>await y : any +>y : any + + b; +>b : any + } +} + +async function withStatement3() { +>withStatement3 : () => Promise + + with (x) { +>x : any + + with (z) { +>z : any + + a; +>a : any + + await y; +>await y : any +>y : any + + b; +>b : any + } + } +} diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationBindReachabilityErrors(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/compiler/jsFileCompilationBindReachabilityErrors(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..f97568d4e33 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationBindReachabilityErrors(alwaysstrict=false).errors.txt @@ -0,0 +1,36 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +a.js(3,9): error TS7029: Fallthrough case in switch. +a.js(16,5): error TS7027: Unreachable code detected. +a.js(19,1): error TS1344: 'A label is not allowed here. +a.js(19,1): error TS7028: Unused label. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== a.js (4 errors) ==== + function foo(a, b) { + switch (a) { + case 10: + ~~~~~~~~ +!!! error TS7029: Fallthrough case in switch. + if (b) { + return b; + } + case 20: + return a; + } + } + + function bar() { + return x; + function bar2() { + } + var x = 10; // error + ~~~~~~~~~~~ +!!! error TS7027: Unreachable code detected. + } + + label1: var x2 = 10; + ~~~~~~ +!!! error TS1344: 'A label is not allowed here. + ~~~~~~ +!!! error TS7028: Unused label. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationBindReachabilityErrors(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/compiler/jsFileCompilationBindReachabilityErrors(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..3be25c5c31a --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationBindReachabilityErrors(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,24 @@ +--- old.jsFileCompilationBindReachabilityErrors(alwaysstrict=false).errors.txt ++++ new.jsFileCompilationBindReachabilityErrors(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. + a.js(3,9): error TS7029: Fallthrough case in switch. + a.js(16,5): error TS7027: Unreachable code detected. ++a.js(19,1): error TS1344: 'A label is not allowed here. + a.js(19,1): error TS7028: Unused label. + + +-==== a.js (3 errors) ==== ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== a.js (4 errors) ==== + function foo(a, b) { + switch (a) { + case 10: +@@= skipped -26, +29 lines =@@ + } + + label1: var x2 = 10; ++ ~~~~~~ ++!!! error TS1344: 'A label is not allowed here. + ~~~~~~ + !!! error TS7028: Unused label. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationBindReachabilityErrors(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/compiler/jsFileCompilationBindReachabilityErrors(alwaysstrict=false).symbols new file mode 100644 index 00000000000..adb3816e10d --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationBindReachabilityErrors(alwaysstrict=false).symbols @@ -0,0 +1,40 @@ +//// [tests/cases/compiler/jsFileCompilationBindReachabilityErrors.ts] //// + +=== a.js === +function foo(a, b) { +>foo : Symbol(foo, Decl(a.js, 0, 0)) +>a : Symbol(a, Decl(a.js, 0, 13)) +>b : Symbol(b, Decl(a.js, 0, 15)) + + switch (a) { +>a : Symbol(a, Decl(a.js, 0, 13)) + + case 10: + if (b) { +>b : Symbol(b, Decl(a.js, 0, 15)) + + return b; +>b : Symbol(b, Decl(a.js, 0, 15)) + } + case 20: + return a; +>a : Symbol(a, Decl(a.js, 0, 13)) + } +} + +function bar() { +>bar : Symbol(bar, Decl(a.js, 9, 1)) + + return x; +>x : Symbol(x, Decl(a.js, 15, 7)) + + function bar2() { +>bar2 : Symbol(bar2, Decl(a.js, 12, 13)) + } + var x = 10; // error +>x : Symbol(x, Decl(a.js, 15, 7)) +} + +label1: var x2 = 10; +>x2 : Symbol(x2, Decl(a.js, 18, 12)) + diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationBindReachabilityErrors(alwaysstrict=false).types b/testdata/baselines/reference/submodule/compiler/jsFileCompilationBindReachabilityErrors(alwaysstrict=false).types new file mode 100644 index 00000000000..d11564fca67 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationBindReachabilityErrors(alwaysstrict=false).types @@ -0,0 +1,47 @@ +//// [tests/cases/compiler/jsFileCompilationBindReachabilityErrors.ts] //// + +=== a.js === +function foo(a, b) { +>foo : (a: any, b: any) => any +>a : any +>b : any + + switch (a) { +>a : any + + case 10: +>10 : 10 + + if (b) { +>b : any + + return b; +>b : any + } + case 20: +>20 : 20 + + return a; +>a : any + } +} + +function bar() { +>bar : () => number + + return x; +>x : number + + function bar2() { +>bar2 : () => void + } + var x = 10; // error +>x : number +>10 : 10 +} + +label1: var x2 = 10; +>label1 : any +>x2 : number +>10 : 10 + diff --git a/testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..a5980a00e07 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).errors.txt @@ -0,0 +1,37 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +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. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== missingCloseParenStatements.ts (5 errors) ==== + var a1, a2, a3 = 0; + if ( a1 && (a2 + a3 > 0) { + ~ +!!! error TS1005: ')' expected. +!!! related TS1007 missingCloseParenStatements.ts:2:4: The parser expected to find a ')' to match the '(' token here. + while( (a2 > 0) && a1 + { + ~ +!!! error TS1005: ')' expected. +!!! related TS1007 missingCloseParenStatements.ts:3:10: The parser expected to find a ')' to match the '(' token here. + do { + 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. + console.log(x); + } + } while (i < 5 && (a1 > 5); + ~ +!!! error TS1005: ')' expected. +!!! related TS1007 missingCloseParenStatements.ts:11:17: The parser expected to find a ')' to match the '(' token here. + } + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..5196bd50e81 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,26 @@ +--- old.missingCloseParenStatements(alwaysstrict=false).errors.txt ++++ new.missingCloseParenStatements(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. + 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) ==== ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== missingCloseParenStatements.ts (5 errors) ==== + var a1, a2, a3 = 0; + if ( a1 && (a2 + a3 > 0) { + ~ +@@= skipped -18, +21 lines =@@ + 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. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).js b/testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).js new file mode 100644 index 00000000000..b3efecc7024 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).js @@ -0,0 +1,31 @@ +//// [tests/cases/compiler/missingCloseParenStatements.ts] //// + +//// [missingCloseParenStatements.ts] +var a1, a2, a3 = 0; +if ( a1 && (a2 + a3 > 0) { + while( (a2 > 0) && a1 + { + do { + var i = i + 1; + a1 = a1 + i; + with ((a2 + a3 > 0) && a1 { + console.log(x); + } + } while (i < 5 && (a1 > 5); + } +} + +//// [missingCloseParenStatements.js] +"use strict"; +var a1, a2, a3 = 0; +if (a1 && (a2 + a3 > 0)) { + while ((a2 > 0) && a1) { + do { + var i = i + 1; + a1 = a1 + i; + with ((a2 + a3 > 0) && a1) { + console.log(x); + } + } while (i < 5 && (a1 > 5)); + } +} diff --git a/testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..cfe16e4f86e --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).js.diff @@ -0,0 +1,10 @@ +--- old.missingCloseParenStatements(alwaysstrict=false).js ++++ new.missingCloseParenStatements(alwaysstrict=false).js +@@= skipped -15, +15 lines =@@ + } + + //// [missingCloseParenStatements.js] ++"use strict"; + var a1, a2, a3 = 0; + if (a1 && (a2 + a3 > 0)) { + while ((a2 > 0) && a1) { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).symbols new file mode 100644 index 00000000000..00e76343b19 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).symbols @@ -0,0 +1,39 @@ +//// [tests/cases/compiler/missingCloseParenStatements.ts] //// + +=== missingCloseParenStatements.ts === +var a1, a2, a3 = 0; +>a1 : Symbol(a1, Decl(missingCloseParenStatements.ts, 0, 3)) +>a2 : Symbol(a2, Decl(missingCloseParenStatements.ts, 0, 7)) +>a3 : Symbol(a3, Decl(missingCloseParenStatements.ts, 0, 11)) + +if ( a1 && (a2 + a3 > 0) { +>a1 : Symbol(a1, Decl(missingCloseParenStatements.ts, 0, 3)) +>a2 : Symbol(a2, Decl(missingCloseParenStatements.ts, 0, 7)) +>a3 : Symbol(a3, Decl(missingCloseParenStatements.ts, 0, 11)) + + while( (a2 > 0) && a1 +>a2 : Symbol(a2, Decl(missingCloseParenStatements.ts, 0, 7)) +>a1 : Symbol(a1, Decl(missingCloseParenStatements.ts, 0, 3)) + { + do { + var i = i + 1; +>i : Symbol(i, Decl(missingCloseParenStatements.ts, 5, 15)) +>i : Symbol(i, Decl(missingCloseParenStatements.ts, 5, 15)) + + a1 = a1 + i; +>a1 : Symbol(a1, Decl(missingCloseParenStatements.ts, 0, 3)) +>a1 : Symbol(a1, Decl(missingCloseParenStatements.ts, 0, 3)) +>i : Symbol(i, Decl(missingCloseParenStatements.ts, 5, 15)) + + with ((a2 + a3 > 0) && a1 { +>a2 : Symbol(a2, Decl(missingCloseParenStatements.ts, 0, 7)) +>a3 : Symbol(a3, Decl(missingCloseParenStatements.ts, 0, 11)) +>a1 : Symbol(a1, Decl(missingCloseParenStatements.ts, 0, 3)) + + console.log(x); + } + } while (i < 5 && (a1 > 5); +>i : Symbol(i, Decl(missingCloseParenStatements.ts, 5, 15)) +>a1 : Symbol(a1, Decl(missingCloseParenStatements.ts, 0, 3)) + } +} diff --git a/testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).types b/testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).types new file mode 100644 index 00000000000..98b2a8ba6fd --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/missingCloseParenStatements(alwaysstrict=false).types @@ -0,0 +1,69 @@ +//// [tests/cases/compiler/missingCloseParenStatements.ts] //// + +=== missingCloseParenStatements.ts === +var a1, a2, a3 = 0; +>a1 : any +>a2 : any +>a3 : number +>0 : 0 + +if ( a1 && (a2 + a3 > 0) { +>a1 && (a2 + a3 > 0) : boolean +>a1 : any +>(a2 + a3 > 0) : boolean +>a2 + a3 > 0 : boolean +>a2 + a3 : any +>a2 : any +>a3 : number +>0 : 0 + + while( (a2 > 0) && a1 +>(a2 > 0) && a1 : any +>(a2 > 0) : boolean +>a2 > 0 : boolean +>a2 : any +>0 : 0 +>a1 : any + { + do { + var i = i + 1; +>i : any +>i + 1 : any +>i : any +>1 : 1 + + a1 = a1 + i; +>a1 = a1 + i : any +>a1 : any +>a1 + i : any +>a1 : any +>i : any + + with ((a2 + a3 > 0) && a1 { +>(a2 + a3 > 0) && a1 : any +>(a2 + a3 > 0) : boolean +>a2 + a3 > 0 : boolean +>a2 + a3 : any +>a2 : any +>a3 : number +>0 : 0 +>a1 : any + + console.log(x); +>console.log(x) : any +>console.log : any +>console : any +>log : any +>x : any + } + } while (i < 5 && (a1 > 5); +>i < 5 && (a1 > 5) : boolean +>i < 5 : boolean +>i : any +>5 : 5 +>(a1 > 5) : boolean +>a1 > 5 : boolean +>a1 : any +>5 : 5 + } +} diff --git a/testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).errors.txt b/testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).errors.txt new file mode 100644 index 00000000000..dda61d7b9de --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).errors.txt @@ -0,0 +1,14 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== ES5For-of19.ts (0 errors) ==== + for (let v of []) { + v; + function foo() { + for (const v of []) { + v; + } + } + } + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).errors.txt.diff new file mode 100644 index 00000000000..30b3b43fd92 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).errors.txt.diff @@ -0,0 +1,18 @@ +--- old.ES5For-of19(alwaysstrict=false,target=es2015).errors.txt ++++ new.ES5For-of19(alwaysstrict=false,target=es2015).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== ES5For-of19.ts (0 errors) ==== ++ for (let v of []) { ++ v; ++ function foo() { ++ for (const v of []) { ++ v; ++ } ++ } ++ } ++ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).js new file mode 100644 index 00000000000..294c9624cfd --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).js @@ -0,0 +1,23 @@ +//// [tests/cases/conformance/statements/for-ofStatements/ES5For-of19.ts] //// + +//// [ES5For-of19.ts] +for (let v of []) { + v; + function foo() { + for (const v of []) { + v; + } + } +} + + +//// [ES5For-of19.js] +"use strict"; +for (let v of []) { + v; + function foo() { + for (const v of []) { + v; + } + } +} diff --git a/testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).js.diff b/testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).js.diff new file mode 100644 index 00000000000..8c9f8b22f7e --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).js.diff @@ -0,0 +1,10 @@ +--- old.ES5For-of19(alwaysstrict=false,target=es2015).js ++++ new.ES5For-of19(alwaysstrict=false,target=es2015).js +@@= skipped -11, +11 lines =@@ + + + //// [ES5For-of19.js] ++"use strict"; + for (let v of []) { + v; + function foo() { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).symbols new file mode 100644 index 00000000000..646e312385a --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).symbols @@ -0,0 +1,21 @@ +//// [tests/cases/conformance/statements/for-ofStatements/ES5For-of19.ts] //// + +=== ES5For-of19.ts === +for (let v of []) { +>v : Symbol(v, Decl(ES5For-of19.ts, 0, 8)) + + v; +>v : Symbol(v, Decl(ES5For-of19.ts, 0, 8)) + + function foo() { +>foo : Symbol(foo, Decl(ES5For-of19.ts, 1, 6)) + + for (const v of []) { +>v : Symbol(v, Decl(ES5For-of19.ts, 3, 18)) + + v; +>v : Symbol(v, Decl(ES5For-of19.ts, 3, 18)) + } + } +} + diff --git a/testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).types b/testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).types new file mode 100644 index 00000000000..bbe1c2524eb --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/ES5For-of19(alwaysstrict=false,target=es2015).types @@ -0,0 +1,23 @@ +//// [tests/cases/conformance/statements/for-ofStatements/ES5For-of19.ts] //// + +=== ES5For-of19.ts === +for (let v of []) { +>v : any +>[] : undefined[] + + v; +>v : any + + function foo() { +>foo : () => void + + for (const v of []) { +>v : any +>[] : undefined[] + + v; +>v : any + } + } +} + diff --git a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..03911894277 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).errors.txt @@ -0,0 +1,10 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +FunctionDeclaration2_es6.ts(1,12): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== 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/testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..bab39dac668 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,14 @@ +--- old.FunctionDeclaration2_es6(alwaysstrict=false).errors.txt ++++ new.FunctionDeclaration2_es6(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++FunctionDeclaration2_es6.ts(1,12): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== 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/testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).js new file mode 100644 index 00000000000..08c7ab1554d --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).js @@ -0,0 +1,10 @@ +//// [tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration2_es6.ts] //// + +//// [FunctionDeclaration2_es6.ts] +function f(yield) { +} + +//// [FunctionDeclaration2_es6.js] +"use strict"; +function f(yield) { +} diff --git a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..8b7367686ba --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).js.diff @@ -0,0 +1,9 @@ +--- old.FunctionDeclaration2_es6(alwaysstrict=false).js ++++ new.FunctionDeclaration2_es6(alwaysstrict=false).js +@@= skipped -4, +4 lines =@@ + } + + //// [FunctionDeclaration2_es6.js] ++"use strict"; + function f(yield) { + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).symbols new file mode 100644 index 00000000000..771277a7e7b --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).symbols @@ -0,0 +1,7 @@ +//// [tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration2_es6.ts] //// + +=== FunctionDeclaration2_es6.ts === +function f(yield) { +>f : Symbol(f, Decl(FunctionDeclaration2_es6.ts, 0, 0)) +>yield : Symbol(yield, Decl(FunctionDeclaration2_es6.ts, 0, 11)) +} diff --git a/testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).types b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).types new file mode 100644 index 00000000000..caa516a6875 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/FunctionDeclaration2_es6(alwaysstrict=false).types @@ -0,0 +1,7 @@ +//// [tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration2_es6.ts] //// + +=== FunctionDeclaration2_es6.ts === +function f(yield) { +>f : (yield: any) => void +>yield : any +} diff --git a/testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..d1d521550e0 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).errors.txt @@ -0,0 +1,51 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +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. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== NonInitializedExportInInternalModule.ts (4 errors) ==== + namespace 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; + +!!! error TS1123: Variable declaration list cannot be empty. + + export var a; + export let b; + export var c: string; + export let d: number; + class A {} + export var e: A; + export let f: A; + + namespace B { + export let a = 1, b, c = 2; + export let x, y, z; + } + + namespace C { + export var a = 1, b, c = 2; + export var x, y, z; + } + + // Shouldn't be filtered + export var a1 = 1; + export let b1 = 1; + export var c1: string = 'a'; + export let d1: number = 1; + class D {} + export var e1 = new D; + export let f1 = new D; + export var g1: D = new D; + export let h1: D = new D; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..66c3594ecd1 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,23 @@ +--- old.NonInitializedExportInInternalModule(alwaysstrict=false).errors.txt ++++ new.NonInitializedExportInInternalModule(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. + 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) ==== ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== NonInitializedExportInInternalModule.ts (4 errors) ==== + namespace 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; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).js new file mode 100644 index 00000000000..7dc27edb63e --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).js @@ -0,0 +1,67 @@ +//// [tests/cases/conformance/internalModules/exportDeclarations/NonInitializedExportInInternalModule.ts] //// + +//// [NonInitializedExportInInternalModule.ts] +namespace Inner { + var; + let; + const; + + export var a; + export let b; + export var c: string; + export let d: number; + class A {} + export var e: A; + export let f: A; + + namespace B { + export let a = 1, b, c = 2; + export let x, y, z; + } + + namespace C { + export var a = 1, b, c = 2; + export var x, y, z; + } + + // Shouldn't be filtered + export var a1 = 1; + export let b1 = 1; + export var c1: string = 'a'; + export let d1: number = 1; + class D {} + export var e1 = new D; + export let f1 = new D; + export var g1: D = new D; + export let h1: D = new D; +} + +//// [NonInitializedExportInInternalModule.js] +"use strict"; +var Inner; +(function (Inner) { + var ; + let; + const ; + class A { + } + let B; + (function (B) { + B.a = 1, B.c = 2; + })(B || (B = {})); + let C; + (function (C) { + C.a = 1, C.c = 2; + })(C || (C = {})); + // Shouldn't be filtered + Inner.a1 = 1; + Inner.b1 = 1; + Inner.c1 = 'a'; + Inner.d1 = 1; + class D { + } + Inner.e1 = new D; + Inner.f1 = new D; + Inner.g1 = new D; + Inner.h1 = new D; +})(Inner || (Inner = {})); diff --git a/testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..77b4167a935 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).js.diff @@ -0,0 +1,10 @@ +--- old.NonInitializedExportInInternalModule(alwaysstrict=false).js ++++ new.NonInitializedExportInInternalModule(alwaysstrict=false).js +@@= skipped -36, +36 lines =@@ + } + + //// [NonInitializedExportInInternalModule.js] ++"use strict"; + var Inner; + (function (Inner) { + var ; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).symbols new file mode 100644 index 00000000000..62f7c0d2e52 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).symbols @@ -0,0 +1,95 @@ +//// [tests/cases/conformance/internalModules/exportDeclarations/NonInitializedExportInInternalModule.ts] //// + +=== NonInitializedExportInInternalModule.ts === +namespace Inner { +>Inner : Symbol(Inner, Decl(NonInitializedExportInInternalModule.ts, 0, 0)) + + var; + let; + const; + + export var a; +>a : Symbol(a, Decl(NonInitializedExportInInternalModule.ts, 5, 14)) + + export let b; +>b : Symbol(b, Decl(NonInitializedExportInInternalModule.ts, 6, 14)) + + export var c: string; +>c : Symbol(c, Decl(NonInitializedExportInInternalModule.ts, 7, 14)) + + export let d: number; +>d : Symbol(d, Decl(NonInitializedExportInInternalModule.ts, 8, 14)) + + class A {} +>A : Symbol(A, Decl(NonInitializedExportInInternalModule.ts, 8, 25)) + + export var e: A; +>e : Symbol(e, Decl(NonInitializedExportInInternalModule.ts, 10, 14)) +>A : Symbol(A, Decl(NonInitializedExportInInternalModule.ts, 8, 25)) + + export let f: A; +>f : Symbol(f, Decl(NonInitializedExportInInternalModule.ts, 11, 14)) +>A : Symbol(A, Decl(NonInitializedExportInInternalModule.ts, 8, 25)) + + namespace B { +>B : Symbol(B, Decl(NonInitializedExportInInternalModule.ts, 11, 20)) + + export let a = 1, b, c = 2; +>a : Symbol(a, Decl(NonInitializedExportInInternalModule.ts, 14, 18)) +>b : Symbol(b, Decl(NonInitializedExportInInternalModule.ts, 14, 25)) +>c : Symbol(c, Decl(NonInitializedExportInInternalModule.ts, 14, 28)) + + export let x, y, z; +>x : Symbol(x, Decl(NonInitializedExportInInternalModule.ts, 15, 18)) +>y : Symbol(y, Decl(NonInitializedExportInInternalModule.ts, 15, 21)) +>z : Symbol(z, Decl(NonInitializedExportInInternalModule.ts, 15, 24)) + } + + namespace C { +>C : Symbol(C, Decl(NonInitializedExportInInternalModule.ts, 16, 5)) + + export var a = 1, b, c = 2; +>a : Symbol(a, Decl(NonInitializedExportInInternalModule.ts, 19, 18)) +>b : Symbol(b, Decl(NonInitializedExportInInternalModule.ts, 19, 25)) +>c : Symbol(c, Decl(NonInitializedExportInInternalModule.ts, 19, 28)) + + export var x, y, z; +>x : Symbol(x, Decl(NonInitializedExportInInternalModule.ts, 20, 18)) +>y : Symbol(y, Decl(NonInitializedExportInInternalModule.ts, 20, 21)) +>z : Symbol(z, Decl(NonInitializedExportInInternalModule.ts, 20, 24)) + } + + // Shouldn't be filtered + export var a1 = 1; +>a1 : Symbol(a1, Decl(NonInitializedExportInInternalModule.ts, 24, 14)) + + export let b1 = 1; +>b1 : Symbol(b1, Decl(NonInitializedExportInInternalModule.ts, 25, 14)) + + export var c1: string = 'a'; +>c1 : Symbol(c1, Decl(NonInitializedExportInInternalModule.ts, 26, 14)) + + export let d1: number = 1; +>d1 : Symbol(d1, Decl(NonInitializedExportInInternalModule.ts, 27, 14)) + + class D {} +>D : Symbol(D, Decl(NonInitializedExportInInternalModule.ts, 27, 30)) + + export var e1 = new D; +>e1 : Symbol(e1, Decl(NonInitializedExportInInternalModule.ts, 29, 14)) +>D : Symbol(D, Decl(NonInitializedExportInInternalModule.ts, 27, 30)) + + export let f1 = new D; +>f1 : Symbol(f1, Decl(NonInitializedExportInInternalModule.ts, 30, 14)) +>D : Symbol(D, Decl(NonInitializedExportInInternalModule.ts, 27, 30)) + + export var g1: D = new D; +>g1 : Symbol(g1, Decl(NonInitializedExportInInternalModule.ts, 31, 14)) +>D : Symbol(D, Decl(NonInitializedExportInInternalModule.ts, 27, 30)) +>D : Symbol(D, Decl(NonInitializedExportInInternalModule.ts, 27, 30)) + + export let h1: D = new D; +>h1 : Symbol(h1, Decl(NonInitializedExportInInternalModule.ts, 32, 14)) +>D : Symbol(D, Decl(NonInitializedExportInInternalModule.ts, 27, 30)) +>D : Symbol(D, Decl(NonInitializedExportInInternalModule.ts, 27, 30)) +} diff --git a/testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).types b/testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).types new file mode 100644 index 00000000000..3271a7d1ec3 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/NonInitializedExportInInternalModule(alwaysstrict=false).types @@ -0,0 +1,105 @@ +//// [tests/cases/conformance/internalModules/exportDeclarations/NonInitializedExportInInternalModule.ts] //// + +=== NonInitializedExportInInternalModule.ts === +namespace Inner { +>Inner : typeof Inner + + var; + let; +>let : any + + const; + + export var a; +>a : any + + export let b; +>b : any + + export var c: string; +>c : string + + export let d: number; +>d : number + + class A {} +>A : A + + export var e: A; +>e : A + + export let f: A; +>f : A + + namespace B { +>B : typeof B + + export let a = 1, b, c = 2; +>a : number +>1 : 1 +>b : any +>c : number +>2 : 2 + + export let x, y, z; +>x : any +>y : any +>z : any + } + + namespace C { +>C : typeof C + + export var a = 1, b, c = 2; +>a : number +>1 : 1 +>b : any +>c : number +>2 : 2 + + export var x, y, z; +>x : any +>y : any +>z : any + } + + // Shouldn't be filtered + export var a1 = 1; +>a1 : number +>1 : 1 + + export let b1 = 1; +>b1 : number +>1 : 1 + + export var c1: string = 'a'; +>c1 : string +>'a' : "a" + + export let d1: number = 1; +>d1 : number +>1 : 1 + + class D {} +>D : D + + export var e1 = new D; +>e1 : D +>new D : D +>D : typeof D + + export let f1 = new D; +>f1 : D +>new D : D +>D : typeof D + + export var g1: D = new D; +>g1 : D +>new D : D +>D : typeof D + + export let h1: D = new D; +>h1 : D +>new D : D +>D : typeof D +} diff --git a/testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..604e98edafe --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).errors.txt @@ -0,0 +1,124 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +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. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== 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; + } + + // Arrow function as argument to super call + class Base { + constructor(n: any) { } + } + + class Derived extends Base { + constructor() { + super(() => this); + } + } + + // Arrow function as function argument + window.setTimeout(() => null, 100); + + // Arrow function as value in array literal + + var obj = (n: number) => ''; + var obj: { (n: number): string; }; // OK + + var arr = [(n: number) => '']; + var arr: { (n: number): string; }[]; // Incorrect error here (bug 829597) + + // Arrow function as enum value + enum E { + x = () => 4, // Error expected + ~~~~~~~ +!!! error TS18033: Type '() => number' is not assignable to type 'number' as required for computed enum member values. + y = (() => this).length // error, can't use this in enum + ~~~~ +!!! error TS2332: 'this' cannot be referenced in current location. + } + + // Arrow function as module variable initializer + namespace M { + export var a = (s) => ''; + var b = (s) => s; + } + + // Repeat above for module members that are functions? (necessary to redo all of them?) + namespace 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; + } + + // Arrow function as argument to super call + class Base { + constructor(n: any) { } + } + + class Derived extends Base { + constructor() { + super(() => this); + } + } + + // Arrow function as function argument + window.setTimeout(() => null, 100); + + // Arrow function as value in array literal + + var obj = (n: number) => ''; + var obj: { (n: number): string; }; // OK + + var arr = [(n: number) => '']; + var arr: { (n: number): string; }[]; // Incorrect error here (bug 829597) + + // Arrow function as enum value + enum E { + x = () => 4, // Error expected + ~~~~~~~ +!!! error TS18033: Type '() => number' is not assignable to type 'number' as required for computed enum member values. + y = (() => this).length + ~~~~ +!!! error TS2332: 'this' cannot be referenced in current location. + } + + // Arrow function as module variable initializer + namespace M { + export var a = (s) => ''; + var b = (s) => s; + } + + } + + // (ParamList) => { ... } is a generic arrow function + var generic1 = (n: T) => [n]; + var generic1: { (n: T): T[] }; // Incorrect error, Bug 829597 + var generic2 = (n: T) => { return [n]; }; + var generic2: { (n: T): T[] }; + + // ((ParamList) => { ... } ) is a type assertion to an arrow function + var asserted1 = ((n) => [n]); + var asserted1: any; + var asserted2 = ((n) => { return n; }); + var asserted2: any; + + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..b81a091ec73 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,33 @@ +--- old.arrowFunctionContexts(alwaysstrict=false).errors.txt ++++ new.arrowFunctionContexts(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++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) ==== ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== 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; +@@= skipped -55, +61 lines =@@ + namespace 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; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).js new file mode 100644 index 00000000000..ecd411cdc18 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).js @@ -0,0 +1,183 @@ +//// [tests/cases/conformance/expressions/functions/arrowFunctionContexts.ts] //// + +//// [arrowFunctionContexts.ts] +// Arrow function used in with statement +with (window) { + var p = () => this; +} + +// Arrow function as argument to super call +class Base { + constructor(n: any) { } +} + +class Derived extends Base { + constructor() { + super(() => this); + } +} + +// Arrow function as function argument +window.setTimeout(() => null, 100); + +// Arrow function as value in array literal + +var obj = (n: number) => ''; +var obj: { (n: number): string; }; // OK + +var arr = [(n: number) => '']; +var arr: { (n: number): string; }[]; // Incorrect error here (bug 829597) + +// Arrow function as enum value +enum E { + x = () => 4, // Error expected + y = (() => this).length // error, can't use this in enum +} + +// Arrow function as module variable initializer +namespace M { + export var a = (s) => ''; + var b = (s) => s; +} + +// Repeat above for module members that are functions? (necessary to redo all of them?) +namespace M2 { + // Arrow function used in with statement + with (window) { + var p = () => this; + } + + // Arrow function as argument to super call + class Base { + constructor(n: any) { } + } + + class Derived extends Base { + constructor() { + super(() => this); + } + } + + // Arrow function as function argument + window.setTimeout(() => null, 100); + + // Arrow function as value in array literal + + var obj = (n: number) => ''; + var obj: { (n: number): string; }; // OK + + var arr = [(n: number) => '']; + var arr: { (n: number): string; }[]; // Incorrect error here (bug 829597) + + // Arrow function as enum value + enum E { + x = () => 4, // Error expected + y = (() => this).length + } + + // Arrow function as module variable initializer + namespace M { + export var a = (s) => ''; + var b = (s) => s; + } + +} + +// (ParamList) => { ... } is a generic arrow function +var generic1 = (n: T) => [n]; +var generic1: { (n: T): T[] }; // Incorrect error, Bug 829597 +var generic2 = (n: T) => { return [n]; }; +var generic2: { (n: T): T[] }; + +// ((ParamList) => { ... } ) is a type assertion to an arrow function +var asserted1 = ((n) => [n]); +var asserted1: any; +var asserted2 = ((n) => { return n; }); +var asserted2: any; + + + +//// [arrowFunctionContexts.js] +"use strict"; +// Arrow function used in with statement +with (window) { + var p = () => this; +} +// Arrow function as argument to super call +class Base { + constructor(n) { } +} +class Derived extends Base { + constructor() { + super(() => this); + } +} +// Arrow function as function argument +window.setTimeout(() => null, 100); +// Arrow function as value in array literal +var obj = (n) => ''; +var obj; // OK +var arr = [(n) => '']; +var arr; // Incorrect error here (bug 829597) +// Arrow function as enum value +var E; +(function (E) { + E["x"] = () => 4; + if (typeof E.x !== "string") E[E.x] = "x"; + E["y"] = (() => this).length; // error, can't use this in enum + if (typeof E.y !== "string") E[E.y] = "y"; +})(E || (E = {})); +// Arrow function as module variable initializer +var M; +(function (M) { + M.a = (s) => ''; + var b = (s) => s; +})(M || (M = {})); +// Repeat above for module members that are functions? (necessary to redo all of them?) +var M2; +(function (M2) { + // Arrow function used in with statement + with (window) { + var p = () => this; + } + // Arrow function as argument to super call + class Base { + constructor(n) { } + } + class Derived extends Base { + constructor() { + super(() => this); + } + } + // Arrow function as function argument + window.setTimeout(() => null, 100); + // Arrow function as value in array literal + var obj = (n) => ''; + var obj; // OK + var arr = [(n) => '']; + var arr; // Incorrect error here (bug 829597) + // Arrow function as enum value + let E; + (function (E) { + E["x"] = () => 4; + if (typeof E.x !== "string") E[E.x] = "x"; + E["y"] = (() => this).length; + if (typeof E.y !== "string") E[E.y] = "y"; + })(E || (E = {})); + // Arrow function as module variable initializer + let M; + (function (M) { + M.a = (s) => ''; + var b = (s) => s; + })(M || (M = {})); +})(M2 || (M2 = {})); +// (ParamList) => { ... } is a generic arrow function +var generic1 = (n) => [n]; +var generic1; // Incorrect error, Bug 829597 +var generic2 = (n) => { return [n]; }; +var generic2; +// ((ParamList) => { ... } ) is a type assertion to an arrow function +var asserted1 = ((n) => [n]); +var asserted1; +var asserted2 = ((n) => { return n; }); +var asserted2; diff --git a/testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..6d02f506b11 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).js.diff @@ -0,0 +1,36 @@ +--- old.arrowFunctionContexts(alwaysstrict=false).js ++++ new.arrowFunctionContexts(alwaysstrict=false).js +@@= skipped -97, +97 lines =@@ + + + //// [arrowFunctionContexts.js] ++"use strict"; + // Arrow function used in with statement + with (window) { + var p = () => this; +@@= skipped -23, +24 lines =@@ + // Arrow function as enum value + var E; + (function (E) { +- E[E["x"] = () => 4] = "x"; +- E[E["y"] = (() => this).length] = "y"; // error, can't use this in enum ++ E["x"] = () => 4; ++ if (typeof E.x !== "string") E[E.x] = "x"; ++ E["y"] = (() => this).length; // error, can't use this in enum ++ if (typeof E.y !== "string") E[E.y] = "y"; + })(E || (E = {})); + // Arrow function as module variable initializer + var M; +@@= skipped -35, +37 lines =@@ + // Arrow function as enum value + let E; + (function (E) { +- E[E["x"] = () => 4] = "x"; +- E[E["y"] = (() => this).length] = "y"; ++ E["x"] = () => 4; ++ if (typeof E.x !== "string") E[E.x] = "x"; ++ E["y"] = (() => this).length; ++ if (typeof E.y !== "string") E[E.y] = "y"; + })(E || (E = {})); + // Arrow function as module variable initializer + let M; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).symbols new file mode 100644 index 00000000000..3f0542e16a4 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).symbols @@ -0,0 +1,210 @@ +//// [tests/cases/conformance/expressions/functions/arrowFunctionContexts.ts] //// + +=== arrowFunctionContexts.ts === +// Arrow function used in with statement +with (window) { +>window : Symbol(window, Decl(lib.dom.d.ts, --, --)) + + var p = () => this; +} + +// Arrow function as argument to super call +class Base { +>Base : Symbol(Base, Decl(arrowFunctionContexts.ts, 3, 1)) + + constructor(n: any) { } +>n : Symbol(n, Decl(arrowFunctionContexts.ts, 7, 16)) +} + +class Derived extends Base { +>Derived : Symbol(Derived, Decl(arrowFunctionContexts.ts, 8, 1)) +>Base : Symbol(Base, Decl(arrowFunctionContexts.ts, 3, 1)) + + constructor() { + super(() => this); +>super : Symbol(Base, Decl(arrowFunctionContexts.ts, 3, 1)) +>this : Symbol(Derived, Decl(arrowFunctionContexts.ts, 8, 1)) + } +} + +// Arrow function as function argument +window.setTimeout(() => null, 100); +>window.setTimeout : Symbol(setTimeout, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) +>window : Symbol(window, Decl(lib.dom.d.ts, --, --)) +>setTimeout : Symbol(setTimeout, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) + +// Arrow function as value in array literal + +var obj = (n: number) => ''; +>obj : Symbol(obj, Decl(arrowFunctionContexts.ts, 21, 3), Decl(arrowFunctionContexts.ts, 22, 3)) +>n : Symbol(n, Decl(arrowFunctionContexts.ts, 21, 11)) + +var obj: { (n: number): string; }; // OK +>obj : Symbol(obj, Decl(arrowFunctionContexts.ts, 21, 3), Decl(arrowFunctionContexts.ts, 22, 3)) +>n : Symbol(n, Decl(arrowFunctionContexts.ts, 22, 12)) + +var arr = [(n: number) => '']; +>arr : Symbol(arr, Decl(arrowFunctionContexts.ts, 24, 3), Decl(arrowFunctionContexts.ts, 25, 3)) +>n : Symbol(n, Decl(arrowFunctionContexts.ts, 24, 12)) + +var arr: { (n: number): string; }[]; // Incorrect error here (bug 829597) +>arr : Symbol(arr, Decl(arrowFunctionContexts.ts, 24, 3), Decl(arrowFunctionContexts.ts, 25, 3)) +>n : Symbol(n, Decl(arrowFunctionContexts.ts, 25, 12)) + +// Arrow function as enum value +enum E { +>E : Symbol(E, Decl(arrowFunctionContexts.ts, 25, 36)) + + x = () => 4, // Error expected +>x : Symbol(E.x, Decl(arrowFunctionContexts.ts, 28, 8)) + + y = (() => this).length // error, can't use this in enum +>y : Symbol(E.y, Decl(arrowFunctionContexts.ts, 29, 16)) +>(() => this).length : Symbol(Function.length, Decl(lib.es5.d.ts, --, --)) +>length : Symbol(Function.length, Decl(lib.es5.d.ts, --, --)) +} + +// Arrow function as module variable initializer +namespace M { +>M : Symbol(M, Decl(arrowFunctionContexts.ts, 31, 1)) + + export var a = (s) => ''; +>a : Symbol(a, Decl(arrowFunctionContexts.ts, 35, 14)) +>s : Symbol(s, Decl(arrowFunctionContexts.ts, 35, 20)) + + var b = (s) => s; +>b : Symbol(b, Decl(arrowFunctionContexts.ts, 36, 7)) +>s : Symbol(s, Decl(arrowFunctionContexts.ts, 36, 13)) +>s : Symbol(s, Decl(arrowFunctionContexts.ts, 36, 13)) +} + +// Repeat above for module members that are functions? (necessary to redo all of them?) +namespace M2 { +>M2 : Symbol(M2, Decl(arrowFunctionContexts.ts, 37, 1)) + + // Arrow function used in with statement + with (window) { +>window : Symbol(window, Decl(lib.dom.d.ts, --, --)) + + var p = () => this; + } + + // Arrow function as argument to super call + class Base { +>Base : Symbol(Base, Decl(arrowFunctionContexts.ts, 44, 5)) + + constructor(n: any) { } +>n : Symbol(n, Decl(arrowFunctionContexts.ts, 48, 20)) + } + + class Derived extends Base { +>Derived : Symbol(Derived, Decl(arrowFunctionContexts.ts, 49, 5)) +>Base : Symbol(Base, Decl(arrowFunctionContexts.ts, 44, 5)) + + constructor() { + super(() => this); +>super : Symbol(Base, Decl(arrowFunctionContexts.ts, 44, 5)) +>this : Symbol(Derived, Decl(arrowFunctionContexts.ts, 49, 5)) + } + } + + // Arrow function as function argument + window.setTimeout(() => null, 100); +>window.setTimeout : Symbol(setTimeout, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) +>window : Symbol(window, Decl(lib.dom.d.ts, --, --)) +>setTimeout : Symbol(setTimeout, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) + + // Arrow function as value in array literal + + var obj = (n: number) => ''; +>obj : Symbol(obj, Decl(arrowFunctionContexts.ts, 62, 7), Decl(arrowFunctionContexts.ts, 63, 7)) +>n : Symbol(n, Decl(arrowFunctionContexts.ts, 62, 15)) + + var obj: { (n: number): string; }; // OK +>obj : Symbol(obj, Decl(arrowFunctionContexts.ts, 62, 7), Decl(arrowFunctionContexts.ts, 63, 7)) +>n : Symbol(n, Decl(arrowFunctionContexts.ts, 63, 16)) + + var arr = [(n: number) => '']; +>arr : Symbol(arr, Decl(arrowFunctionContexts.ts, 65, 7), Decl(arrowFunctionContexts.ts, 66, 7)) +>n : Symbol(n, Decl(arrowFunctionContexts.ts, 65, 16)) + + var arr: { (n: number): string; }[]; // Incorrect error here (bug 829597) +>arr : Symbol(arr, Decl(arrowFunctionContexts.ts, 65, 7), Decl(arrowFunctionContexts.ts, 66, 7)) +>n : Symbol(n, Decl(arrowFunctionContexts.ts, 66, 16)) + + // Arrow function as enum value + enum E { +>E : Symbol(E, Decl(arrowFunctionContexts.ts, 66, 40)) + + x = () => 4, // Error expected +>x : Symbol(E.x, Decl(arrowFunctionContexts.ts, 69, 12)) + + y = (() => this).length +>y : Symbol(E.y, Decl(arrowFunctionContexts.ts, 70, 20)) +>(() => this).length : Symbol(Function.length, Decl(lib.es5.d.ts, --, --)) +>length : Symbol(Function.length, Decl(lib.es5.d.ts, --, --)) + } + + // Arrow function as module variable initializer + namespace M { +>M : Symbol(M, Decl(arrowFunctionContexts.ts, 72, 5)) + + export var a = (s) => ''; +>a : Symbol(a, Decl(arrowFunctionContexts.ts, 76, 18)) +>s : Symbol(s, Decl(arrowFunctionContexts.ts, 76, 24)) + + var b = (s) => s; +>b : Symbol(b, Decl(arrowFunctionContexts.ts, 77, 11)) +>s : Symbol(s, Decl(arrowFunctionContexts.ts, 77, 17)) +>s : Symbol(s, Decl(arrowFunctionContexts.ts, 77, 17)) + } + +} + +// (ParamList) => { ... } is a generic arrow function +var generic1 = (n: T) => [n]; +>generic1 : Symbol(generic1, Decl(arrowFunctionContexts.ts, 83, 3), Decl(arrowFunctionContexts.ts, 84, 3)) +>T : Symbol(T, Decl(arrowFunctionContexts.ts, 83, 16)) +>n : Symbol(n, Decl(arrowFunctionContexts.ts, 83, 19)) +>T : Symbol(T, Decl(arrowFunctionContexts.ts, 83, 16)) +>n : Symbol(n, Decl(arrowFunctionContexts.ts, 83, 19)) + +var generic1: { (n: T): T[] }; // Incorrect error, Bug 829597 +>generic1 : Symbol(generic1, Decl(arrowFunctionContexts.ts, 83, 3), Decl(arrowFunctionContexts.ts, 84, 3)) +>T : Symbol(T, Decl(arrowFunctionContexts.ts, 84, 17)) +>n : Symbol(n, Decl(arrowFunctionContexts.ts, 84, 20)) +>T : Symbol(T, Decl(arrowFunctionContexts.ts, 84, 17)) +>T : Symbol(T, Decl(arrowFunctionContexts.ts, 84, 17)) + +var generic2 = (n: T) => { return [n]; }; +>generic2 : Symbol(generic2, Decl(arrowFunctionContexts.ts, 85, 3), Decl(arrowFunctionContexts.ts, 86, 3)) +>T : Symbol(T, Decl(arrowFunctionContexts.ts, 85, 16)) +>n : Symbol(n, Decl(arrowFunctionContexts.ts, 85, 19)) +>T : Symbol(T, Decl(arrowFunctionContexts.ts, 85, 16)) +>n : Symbol(n, Decl(arrowFunctionContexts.ts, 85, 19)) + +var generic2: { (n: T): T[] }; +>generic2 : Symbol(generic2, Decl(arrowFunctionContexts.ts, 85, 3), Decl(arrowFunctionContexts.ts, 86, 3)) +>T : Symbol(T, Decl(arrowFunctionContexts.ts, 86, 17)) +>n : Symbol(n, Decl(arrowFunctionContexts.ts, 86, 20)) +>T : Symbol(T, Decl(arrowFunctionContexts.ts, 86, 17)) +>T : Symbol(T, Decl(arrowFunctionContexts.ts, 86, 17)) + +// ((ParamList) => { ... } ) is a type assertion to an arrow function +var asserted1 = ((n) => [n]); +>asserted1 : Symbol(asserted1, Decl(arrowFunctionContexts.ts, 89, 3), Decl(arrowFunctionContexts.ts, 90, 3)) +>n : Symbol(n, Decl(arrowFunctionContexts.ts, 89, 23)) +>n : Symbol(n, Decl(arrowFunctionContexts.ts, 89, 23)) + +var asserted1: any; +>asserted1 : Symbol(asserted1, Decl(arrowFunctionContexts.ts, 89, 3), Decl(arrowFunctionContexts.ts, 90, 3)) + +var asserted2 = ((n) => { return n; }); +>asserted2 : Symbol(asserted2, Decl(arrowFunctionContexts.ts, 91, 3), Decl(arrowFunctionContexts.ts, 92, 3)) +>n : Symbol(n, Decl(arrowFunctionContexts.ts, 91, 23)) +>n : Symbol(n, Decl(arrowFunctionContexts.ts, 91, 23)) + +var asserted2: any; +>asserted2 : Symbol(asserted2, Decl(arrowFunctionContexts.ts, 91, 3), Decl(arrowFunctionContexts.ts, 92, 3)) + + diff --git a/testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).types b/testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).types new file mode 100644 index 00000000000..17c3474bc12 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/arrowFunctionContexts(alwaysstrict=false).types @@ -0,0 +1,253 @@ +//// [tests/cases/conformance/expressions/functions/arrowFunctionContexts.ts] //// + +=== arrowFunctionContexts.ts === +// Arrow function used in with statement +with (window) { +>window : Window & typeof globalThis + + var p = () => this; +>p : any +>() => this : any +>this : any +} + +// Arrow function as argument to super call +class Base { +>Base : Base + + constructor(n: any) { } +>n : any +} + +class Derived extends Base { +>Derived : Derived +>Base : Base + + constructor() { + super(() => this); +>super(() => this) : void +>super : typeof Base +>() => this : () => this +>this : this + } +} + +// Arrow function as function argument +window.setTimeout(() => null, 100); +>window.setTimeout(() => null, 100) : number +>window.setTimeout : ((handler: TimerHandler, timeout?: number, ...arguments: any[]) => number) & ((handler: TimerHandler, timeout?: number, ...arguments: any[]) => number) +>window : Window & typeof globalThis +>setTimeout : ((handler: TimerHandler, timeout?: number, ...arguments: any[]) => number) & ((handler: TimerHandler, timeout?: number, ...arguments: any[]) => number) +>() => null : () => any +>100 : 100 + +// Arrow function as value in array literal + +var obj = (n: number) => ''; +>obj : (n: number) => string +>(n: number) => '' : (n: number) => string +>n : number +>'' : "" + +var obj: { (n: number): string; }; // OK +>obj : (n: number) => string +>n : number + +var arr = [(n: number) => '']; +>arr : ((n: number) => string)[] +>[(n: number) => ''] : ((n: number) => string)[] +>(n: number) => '' : (n: number) => string +>n : number +>'' : "" + +var arr: { (n: number): string; }[]; // Incorrect error here (bug 829597) +>arr : ((n: number) => string)[] +>n : number + +// Arrow function as enum value +enum E { +>E : E + + x = () => 4, // Error expected +>x : E.x +>() => 4 : () => number +>4 : 4 + + y = (() => this).length // error, can't use this in enum +>y : E.y +>(() => this).length : number +>(() => this) : () => any +>() => this : () => any +>this : any +>length : number +} + +// Arrow function as module variable initializer +namespace M { +>M : typeof M + + export var a = (s) => ''; +>a : (s: any) => string +>(s) => '' : (s: any) => string +>s : any +>'' : "" + + var b = (s) => s; +>b : (s: any) => any +>(s) => s : (s: any) => any +>s : any +>s : any +} + +// Repeat above for module members that are functions? (necessary to redo all of them?) +namespace M2 { +>M2 : typeof M2 + + // Arrow function used in with statement + with (window) { +>window : Window & typeof globalThis + + var p = () => this; +>p : any +>() => this : any +>this : any + } + + // Arrow function as argument to super call + class Base { +>Base : Base + + constructor(n: any) { } +>n : any + } + + class Derived extends Base { +>Derived : Derived +>Base : Base + + constructor() { + super(() => this); +>super(() => this) : void +>super : typeof Base +>() => this : () => this +>this : this + } + } + + // Arrow function as function argument + window.setTimeout(() => null, 100); +>window.setTimeout(() => null, 100) : number +>window.setTimeout : ((handler: TimerHandler, timeout?: number, ...arguments: any[]) => number) & ((handler: TimerHandler, timeout?: number, ...arguments: any[]) => number) +>window : Window & typeof globalThis +>setTimeout : ((handler: TimerHandler, timeout?: number, ...arguments: any[]) => number) & ((handler: TimerHandler, timeout?: number, ...arguments: any[]) => number) +>() => null : () => any +>100 : 100 + + // Arrow function as value in array literal + + var obj = (n: number) => ''; +>obj : (n: number) => string +>(n: number) => '' : (n: number) => string +>n : number +>'' : "" + + var obj: { (n: number): string; }; // OK +>obj : (n: number) => string +>n : number + + var arr = [(n: number) => '']; +>arr : ((n: number) => string)[] +>[(n: number) => ''] : ((n: number) => string)[] +>(n: number) => '' : (n: number) => string +>n : number +>'' : "" + + var arr: { (n: number): string; }[]; // Incorrect error here (bug 829597) +>arr : ((n: number) => string)[] +>n : number + + // Arrow function as enum value + enum E { +>E : E + + x = () => 4, // Error expected +>x : E.x +>() => 4 : () => number +>4 : 4 + + y = (() => this).length +>y : E.y +>(() => this).length : number +>(() => this) : () => any +>() => this : () => any +>this : any +>length : number + } + + // Arrow function as module variable initializer + namespace M { +>M : typeof M + + export var a = (s) => ''; +>a : (s: any) => string +>(s) => '' : (s: any) => string +>s : any +>'' : "" + + var b = (s) => s; +>b : (s: any) => any +>(s) => s : (s: any) => any +>s : any +>s : any + } + +} + +// (ParamList) => { ... } is a generic arrow function +var generic1 = (n: T) => [n]; +>generic1 : (n: T) => T[] +>(n: T) => [n] : (n: T) => T[] +>n : T +>[n] : T[] +>n : T + +var generic1: { (n: T): T[] }; // Incorrect error, Bug 829597 +>generic1 : (n: T) => T[] +>n : T + +var generic2 = (n: T) => { return [n]; }; +>generic2 : (n: T) => T[] +>(n: T) => { return [n]; } : (n: T) => T[] +>n : T +>[n] : T[] +>n : T + +var generic2: { (n: T): T[] }; +>generic2 : (n: T) => T[] +>n : T + +// ((ParamList) => { ... } ) is a type assertion to an arrow function +var asserted1 = ((n) => [n]); +>asserted1 : any +>((n) => [n]) : any +>((n) => [n]) : (n: any) => any[] +>(n) => [n] : (n: any) => any[] +>n : any +>[n] : any[] +>n : any + +var asserted1: any; +>asserted1 : any + +var asserted2 = ((n) => { return n; }); +>asserted2 : any +>((n) => { return n; }) : any +>((n) => { return n; }) : (n: any) => any +>(n) => { return n; } : (n: any) => any +>n : any +>n : any + +var asserted2: any; +>asserted2 : any + + diff --git a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..f12965cc099 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).errors.txt @@ -0,0 +1,174 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +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. +deleteOperatorWithAnyOtherType.ts(43,32): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithAnyOtherType.ts(44,33): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithAnyOtherType.ts(45,33): error TS2365: Operator '+' cannot be applied to types 'null' and 'undefined'. +deleteOperatorWithAnyOtherType.ts(45,33): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithAnyOtherType.ts(46,33): error TS2365: Operator '+' cannot be applied to types 'null' and 'null'. +deleteOperatorWithAnyOtherType.ts(46,33): error TS2703: The operand of a 'delete' operator must be a property reference. +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. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== deleteOperatorWithAnyOtherType.ts (36 errors) ==== + // delete operator on any type + + declare var ANY: any; + declare var ANY1; + var ANY2: any[] = ["", ""]; + declare var obj: () => {}; + var obj1 = { x: "", y: () => { }}; + function foo(): any { + var a; + return a; + } + class A { + public a: any; + static foo() { + var a; + return a; + } + } + namespace M { + export var n: any; + } + var objA = new A(); + + // 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; + ~~~~ +!!! error TS2703: The operand of a 'delete' operator must be a property reference. + + // any type expressions + var ResultIsBoolean9 = delete ANY2[0]; + var ResultIsBoolean10 = delete obj1.x; + var ResultIsBoolean11 = delete obj1.y; + var ResultIsBoolean12 = delete objA.a; + var ResultIsBoolean13 = delete M.n; + var ResultIsBoolean14 = delete foo(); + ~~~~~ +!!! error TS2703: The operand of a 'delete' operator must be a property reference. + var ResultIsBoolean15 = delete A.foo(); + ~~~~~~~ +!!! error TS2703: The operand of a 'delete' operator must be a property reference. + var ResultIsBoolean16 = delete (ANY + ANY1); + ~~~~~~~~~~ +!!! error TS2703: The operand of a 'delete' operator must be a property reference. + var ResultIsBoolean17 = delete (null + undefined); + ~~~~~~~~~~~~~~~~ +!!! error TS2365: Operator '+' cannot be applied to types 'null' and 'undefined'. + ~~~~~~~~~~~~~~~~ +!!! error TS2703: The operand of a 'delete' operator must be a property reference. + var ResultIsBoolean18 = delete (null + null); + ~~~~~~~~~~~ +!!! error TS2365: Operator '+' cannot be applied to types 'null' and 'null'. + ~~~~~~~~~~~ +!!! error TS2703: The operand of a 'delete' operator must be a property reference. + var ResultIsBoolean19 = delete (undefined + undefined); + ~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2365: Operator '+' cannot be applied to types 'undefined' and 'undefined'. + ~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2703: The operand of a 'delete' operator must be a property reference. + + // multiple delete operators + var ResultIsBoolean20 = delete delete ANY; + ~~~~~~~~~~ +!!! 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); + ~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2703: The operand of a 'delete' operator must be a property reference. + ~~~~~~~~~~~~~~~~~~~ +!!! error TS2703: The operand of a 'delete' operator must be a property reference. + ~~~~~~~~~~ +!!! error TS2703: The operand of a 'delete' operator must be a property reference. + + // 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; + delete objA.a; + delete M.n; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..64fef2667ec --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,112 @@ +--- old.deleteOperatorWithAnyOtherType(alwaysstrict=false).errors.txt ++++ new.deleteOperatorWithAnyOtherType(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++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. +@@= skipped -15, +23 lines =@@ + 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) ==== ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== deleteOperatorWithAnyOtherType.ts (36 errors) ==== + // delete operator on any type + + declare var ANY: any; +@@= skipped -36, +41 lines =@@ + // 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; + ~~~~ +@@= skipped -61, +75 lines =@@ + ~~~~~~~~~~ + !!! 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); + ~~~~~~~~~~~~~~~~~~~~~~~~~~ +@@= skipped -12, +14 lines =@@ + // 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; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).js new file mode 100644 index 00000000000..dd61ca19f66 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).js @@ -0,0 +1,119 @@ +//// [tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithAnyOtherType.ts] //// + +//// [deleteOperatorWithAnyOtherType.ts] +// delete operator on any type + +declare var ANY: any; +declare var ANY1; +var ANY2: any[] = ["", ""]; +declare var obj: () => {}; +var obj1 = { x: "", y: () => { }}; +function foo(): any { + var a; + return a; +} +class A { + public a: any; + static foo() { + var a; + return a; + } +} +namespace M { + export var n: any; +} +var objA = new A(); + +// any type var +var ResultIsBoolean1 = delete ANY1; +var ResultIsBoolean2 = delete ANY2; +var ResultIsBoolean3 = delete A; +var ResultIsBoolean4 = delete M; +var ResultIsBoolean5 = delete obj; +var ResultIsBoolean6 = delete obj1; + +// any type literal +var ResultIsBoolean7 = delete undefined; +var ResultIsBoolean8 = delete null; + +// any type expressions +var ResultIsBoolean9 = delete ANY2[0]; +var ResultIsBoolean10 = delete obj1.x; +var ResultIsBoolean11 = delete obj1.y; +var ResultIsBoolean12 = delete objA.a; +var ResultIsBoolean13 = delete M.n; +var ResultIsBoolean14 = delete foo(); +var ResultIsBoolean15 = delete A.foo(); +var ResultIsBoolean16 = delete (ANY + ANY1); +var ResultIsBoolean17 = delete (null + undefined); +var ResultIsBoolean18 = delete (null + null); +var ResultIsBoolean19 = delete (undefined + undefined); + +// multiple delete operators +var ResultIsBoolean20 = delete delete ANY; +var ResultIsBoolean21 = delete delete delete (ANY + ANY1); + +// miss assignment operators +delete ANY; +delete ANY1; +delete ANY2[0]; +delete ANY, ANY1; +delete obj1.x; +delete obj1.y; +delete objA.a; +delete M.n; + +//// [deleteOperatorWithAnyOtherType.js] +"use strict"; +// delete operator on any type +var ANY2 = ["", ""]; +var obj1 = { x: "", y: () => { } }; +function foo() { + var a; + return a; +} +class A { + a; + static foo() { + var a; + return a; + } +} +var M; +(function (M) { +})(M || (M = {})); +var objA = new A(); +// any type var +var ResultIsBoolean1 = delete ANY1; +var ResultIsBoolean2 = delete ANY2; +var ResultIsBoolean3 = delete A; +var ResultIsBoolean4 = delete M; +var ResultIsBoolean5 = delete obj; +var ResultIsBoolean6 = delete obj1; +// any type literal +var ResultIsBoolean7 = delete undefined; +var ResultIsBoolean8 = delete null; +// any type expressions +var ResultIsBoolean9 = delete ANY2[0]; +var ResultIsBoolean10 = delete obj1.x; +var ResultIsBoolean11 = delete obj1.y; +var ResultIsBoolean12 = delete objA.a; +var ResultIsBoolean13 = delete M.n; +var ResultIsBoolean14 = delete foo(); +var ResultIsBoolean15 = delete A.foo(); +var ResultIsBoolean16 = delete (ANY + ANY1); +var ResultIsBoolean17 = delete (null + undefined); +var ResultIsBoolean18 = delete (null + null); +var ResultIsBoolean19 = delete (undefined + undefined); +// multiple delete operators +var ResultIsBoolean20 = delete delete ANY; +var ResultIsBoolean21 = delete delete delete (ANY + ANY1); +// miss assignment operators +delete ANY; +delete ANY1; +delete ANY2[0]; +delete ANY, ANY1; +delete obj1.x; +delete obj1.y; +delete objA.a; +delete M.n; diff --git a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..7fb9d659bff --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).js.diff @@ -0,0 +1,18 @@ +--- old.deleteOperatorWithAnyOtherType(alwaysstrict=false).js ++++ new.deleteOperatorWithAnyOtherType(alwaysstrict=false).js +@@= skipped -63, +63 lines =@@ + delete M.n; + + //// [deleteOperatorWithAnyOtherType.js] ++"use strict"; + // delete operator on any type + var ANY2 = ["", ""]; + var obj1 = { x: "", y: () => { } }; +@@= skipped -8, +9 lines =@@ + return a; + } + class A { ++ a; + static foo() { + var a; + return a; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).symbols new file mode 100644 index 00000000000..e307ee95891 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).symbols @@ -0,0 +1,190 @@ +//// [tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithAnyOtherType.ts] //// + +=== deleteOperatorWithAnyOtherType.ts === +// delete operator on any type + +declare var ANY: any; +>ANY : Symbol(ANY, Decl(deleteOperatorWithAnyOtherType.ts, 2, 11)) + +declare var ANY1; +>ANY1 : Symbol(ANY1, Decl(deleteOperatorWithAnyOtherType.ts, 3, 11)) + +var ANY2: any[] = ["", ""]; +>ANY2 : Symbol(ANY2, Decl(deleteOperatorWithAnyOtherType.ts, 4, 3)) + +declare var obj: () => {}; +>obj : Symbol(obj, Decl(deleteOperatorWithAnyOtherType.ts, 5, 11)) + +var obj1 = { x: "", y: () => { }}; +>obj1 : Symbol(obj1, Decl(deleteOperatorWithAnyOtherType.ts, 6, 3)) +>x : Symbol(x, Decl(deleteOperatorWithAnyOtherType.ts, 6, 12)) +>y : Symbol(y, Decl(deleteOperatorWithAnyOtherType.ts, 6, 19)) + +function foo(): any { +>foo : Symbol(foo, Decl(deleteOperatorWithAnyOtherType.ts, 6, 34)) + + var a; +>a : Symbol(a, Decl(deleteOperatorWithAnyOtherType.ts, 8, 7)) + + return a; +>a : Symbol(a, Decl(deleteOperatorWithAnyOtherType.ts, 8, 7)) +} +class A { +>A : Symbol(A, Decl(deleteOperatorWithAnyOtherType.ts, 10, 1)) + + public a: any; +>a : Symbol(A.a, Decl(deleteOperatorWithAnyOtherType.ts, 11, 9)) + + static foo() { +>foo : Symbol(A.foo, Decl(deleteOperatorWithAnyOtherType.ts, 12, 18)) + + var a; +>a : Symbol(a, Decl(deleteOperatorWithAnyOtherType.ts, 14, 11)) + + return a; +>a : Symbol(a, Decl(deleteOperatorWithAnyOtherType.ts, 14, 11)) + } +} +namespace M { +>M : Symbol(M, Decl(deleteOperatorWithAnyOtherType.ts, 17, 1)) + + export var n: any; +>n : Symbol(n, Decl(deleteOperatorWithAnyOtherType.ts, 19, 14)) +} +var objA = new A(); +>objA : Symbol(objA, Decl(deleteOperatorWithAnyOtherType.ts, 21, 3)) +>A : Symbol(A, Decl(deleteOperatorWithAnyOtherType.ts, 10, 1)) + +// any type var +var ResultIsBoolean1 = delete ANY1; +>ResultIsBoolean1 : Symbol(ResultIsBoolean1, Decl(deleteOperatorWithAnyOtherType.ts, 24, 3)) +>ANY1 : Symbol(ANY1, Decl(deleteOperatorWithAnyOtherType.ts, 3, 11)) + +var ResultIsBoolean2 = delete ANY2; +>ResultIsBoolean2 : Symbol(ResultIsBoolean2, Decl(deleteOperatorWithAnyOtherType.ts, 25, 3)) +>ANY2 : Symbol(ANY2, Decl(deleteOperatorWithAnyOtherType.ts, 4, 3)) + +var ResultIsBoolean3 = delete A; +>ResultIsBoolean3 : Symbol(ResultIsBoolean3, Decl(deleteOperatorWithAnyOtherType.ts, 26, 3)) +>A : Symbol(A, Decl(deleteOperatorWithAnyOtherType.ts, 10, 1)) + +var ResultIsBoolean4 = delete M; +>ResultIsBoolean4 : Symbol(ResultIsBoolean4, Decl(deleteOperatorWithAnyOtherType.ts, 27, 3)) +>M : Symbol(M, Decl(deleteOperatorWithAnyOtherType.ts, 17, 1)) + +var ResultIsBoolean5 = delete obj; +>ResultIsBoolean5 : Symbol(ResultIsBoolean5, Decl(deleteOperatorWithAnyOtherType.ts, 28, 3)) +>obj : Symbol(obj, Decl(deleteOperatorWithAnyOtherType.ts, 5, 11)) + +var ResultIsBoolean6 = delete obj1; +>ResultIsBoolean6 : Symbol(ResultIsBoolean6, Decl(deleteOperatorWithAnyOtherType.ts, 29, 3)) +>obj1 : Symbol(obj1, Decl(deleteOperatorWithAnyOtherType.ts, 6, 3)) + +// any type literal +var ResultIsBoolean7 = delete undefined; +>ResultIsBoolean7 : Symbol(ResultIsBoolean7, Decl(deleteOperatorWithAnyOtherType.ts, 32, 3)) +>undefined : Symbol(undefined) + +var ResultIsBoolean8 = delete null; +>ResultIsBoolean8 : Symbol(ResultIsBoolean8, Decl(deleteOperatorWithAnyOtherType.ts, 33, 3)) + +// any type expressions +var ResultIsBoolean9 = delete ANY2[0]; +>ResultIsBoolean9 : Symbol(ResultIsBoolean9, Decl(deleteOperatorWithAnyOtherType.ts, 36, 3)) +>ANY2 : Symbol(ANY2, Decl(deleteOperatorWithAnyOtherType.ts, 4, 3)) + +var ResultIsBoolean10 = delete obj1.x; +>ResultIsBoolean10 : Symbol(ResultIsBoolean10, Decl(deleteOperatorWithAnyOtherType.ts, 37, 3)) +>obj1.x : Symbol(x, Decl(deleteOperatorWithAnyOtherType.ts, 6, 12)) +>obj1 : Symbol(obj1, Decl(deleteOperatorWithAnyOtherType.ts, 6, 3)) +>x : Symbol(x, Decl(deleteOperatorWithAnyOtherType.ts, 6, 12)) + +var ResultIsBoolean11 = delete obj1.y; +>ResultIsBoolean11 : Symbol(ResultIsBoolean11, Decl(deleteOperatorWithAnyOtherType.ts, 38, 3)) +>obj1.y : Symbol(y, Decl(deleteOperatorWithAnyOtherType.ts, 6, 19)) +>obj1 : Symbol(obj1, Decl(deleteOperatorWithAnyOtherType.ts, 6, 3)) +>y : Symbol(y, Decl(deleteOperatorWithAnyOtherType.ts, 6, 19)) + +var ResultIsBoolean12 = delete objA.a; +>ResultIsBoolean12 : Symbol(ResultIsBoolean12, Decl(deleteOperatorWithAnyOtherType.ts, 39, 3)) +>objA.a : Symbol(A.a, Decl(deleteOperatorWithAnyOtherType.ts, 11, 9)) +>objA : Symbol(objA, Decl(deleteOperatorWithAnyOtherType.ts, 21, 3)) +>a : Symbol(A.a, Decl(deleteOperatorWithAnyOtherType.ts, 11, 9)) + +var ResultIsBoolean13 = delete M.n; +>ResultIsBoolean13 : Symbol(ResultIsBoolean13, Decl(deleteOperatorWithAnyOtherType.ts, 40, 3)) +>M.n : Symbol(M.n, Decl(deleteOperatorWithAnyOtherType.ts, 19, 14)) +>M : Symbol(M, Decl(deleteOperatorWithAnyOtherType.ts, 17, 1)) +>n : Symbol(M.n, Decl(deleteOperatorWithAnyOtherType.ts, 19, 14)) + +var ResultIsBoolean14 = delete foo(); +>ResultIsBoolean14 : Symbol(ResultIsBoolean14, Decl(deleteOperatorWithAnyOtherType.ts, 41, 3)) +>foo : Symbol(foo, Decl(deleteOperatorWithAnyOtherType.ts, 6, 34)) + +var ResultIsBoolean15 = delete A.foo(); +>ResultIsBoolean15 : Symbol(ResultIsBoolean15, Decl(deleteOperatorWithAnyOtherType.ts, 42, 3)) +>A.foo : Symbol(A.foo, Decl(deleteOperatorWithAnyOtherType.ts, 12, 18)) +>A : Symbol(A, Decl(deleteOperatorWithAnyOtherType.ts, 10, 1)) +>foo : Symbol(A.foo, Decl(deleteOperatorWithAnyOtherType.ts, 12, 18)) + +var ResultIsBoolean16 = delete (ANY + ANY1); +>ResultIsBoolean16 : Symbol(ResultIsBoolean16, Decl(deleteOperatorWithAnyOtherType.ts, 43, 3)) +>ANY : Symbol(ANY, Decl(deleteOperatorWithAnyOtherType.ts, 2, 11)) +>ANY1 : Symbol(ANY1, Decl(deleteOperatorWithAnyOtherType.ts, 3, 11)) + +var ResultIsBoolean17 = delete (null + undefined); +>ResultIsBoolean17 : Symbol(ResultIsBoolean17, Decl(deleteOperatorWithAnyOtherType.ts, 44, 3)) +>undefined : Symbol(undefined) + +var ResultIsBoolean18 = delete (null + null); +>ResultIsBoolean18 : Symbol(ResultIsBoolean18, Decl(deleteOperatorWithAnyOtherType.ts, 45, 3)) + +var ResultIsBoolean19 = delete (undefined + undefined); +>ResultIsBoolean19 : Symbol(ResultIsBoolean19, Decl(deleteOperatorWithAnyOtherType.ts, 46, 3)) +>undefined : Symbol(undefined) +>undefined : Symbol(undefined) + +// multiple delete operators +var ResultIsBoolean20 = delete delete ANY; +>ResultIsBoolean20 : Symbol(ResultIsBoolean20, Decl(deleteOperatorWithAnyOtherType.ts, 49, 3)) +>ANY : Symbol(ANY, Decl(deleteOperatorWithAnyOtherType.ts, 2, 11)) + +var ResultIsBoolean21 = delete delete delete (ANY + ANY1); +>ResultIsBoolean21 : Symbol(ResultIsBoolean21, Decl(deleteOperatorWithAnyOtherType.ts, 50, 3)) +>ANY : Symbol(ANY, Decl(deleteOperatorWithAnyOtherType.ts, 2, 11)) +>ANY1 : Symbol(ANY1, Decl(deleteOperatorWithAnyOtherType.ts, 3, 11)) + +// miss assignment operators +delete ANY; +>ANY : Symbol(ANY, Decl(deleteOperatorWithAnyOtherType.ts, 2, 11)) + +delete ANY1; +>ANY1 : Symbol(ANY1, Decl(deleteOperatorWithAnyOtherType.ts, 3, 11)) + +delete ANY2[0]; +>ANY2 : Symbol(ANY2, Decl(deleteOperatorWithAnyOtherType.ts, 4, 3)) + +delete ANY, ANY1; +>ANY : Symbol(ANY, Decl(deleteOperatorWithAnyOtherType.ts, 2, 11)) +>ANY1 : Symbol(ANY1, Decl(deleteOperatorWithAnyOtherType.ts, 3, 11)) + +delete obj1.x; +>obj1.x : Symbol(x, Decl(deleteOperatorWithAnyOtherType.ts, 6, 12)) +>obj1 : Symbol(obj1, Decl(deleteOperatorWithAnyOtherType.ts, 6, 3)) +>x : Symbol(x, Decl(deleteOperatorWithAnyOtherType.ts, 6, 12)) + +delete obj1.y; +>obj1.y : Symbol(y, Decl(deleteOperatorWithAnyOtherType.ts, 6, 19)) +>obj1 : Symbol(obj1, Decl(deleteOperatorWithAnyOtherType.ts, 6, 3)) +>y : Symbol(y, Decl(deleteOperatorWithAnyOtherType.ts, 6, 19)) + +delete objA.a; +>objA.a : Symbol(A.a, Decl(deleteOperatorWithAnyOtherType.ts, 11, 9)) +>objA : Symbol(objA, Decl(deleteOperatorWithAnyOtherType.ts, 21, 3)) +>a : Symbol(A.a, Decl(deleteOperatorWithAnyOtherType.ts, 11, 9)) + +delete M.n; +>M.n : Symbol(M.n, Decl(deleteOperatorWithAnyOtherType.ts, 19, 14)) +>M : Symbol(M, Decl(deleteOperatorWithAnyOtherType.ts, 17, 1)) +>n : Symbol(M.n, Decl(deleteOperatorWithAnyOtherType.ts, 19, 14)) + diff --git a/testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).types b/testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).types new file mode 100644 index 00000000000..ed51b7affe5 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/deleteOperatorWithAnyOtherType(alwaysstrict=false).types @@ -0,0 +1,246 @@ +//// [tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithAnyOtherType.ts] //// + +=== deleteOperatorWithAnyOtherType.ts === +// delete operator on any type + +declare var ANY: any; +>ANY : any + +declare var ANY1; +>ANY1 : any + +var ANY2: any[] = ["", ""]; +>ANY2 : any[] +>["", ""] : string[] +>"" : "" +>"" : "" + +declare var obj: () => {}; +>obj : () => {} + +var obj1 = { x: "", y: () => { }}; +>obj1 : { x: string; y: () => void; } +>{ x: "", y: () => { }} : { x: string; y: () => void; } +>x : string +>"" : "" +>y : () => void +>() => { } : () => void + +function foo(): any { +>foo : () => any + + var a; +>a : any + + return a; +>a : any +} +class A { +>A : A + + public a: any; +>a : any + + static foo() { +>foo : () => any + + var a; +>a : any + + return a; +>a : any + } +} +namespace M { +>M : typeof M + + export var n: any; +>n : any +} +var objA = new A(); +>objA : A +>new A() : A +>A : typeof A + +// any type var +var ResultIsBoolean1 = delete ANY1; +>ResultIsBoolean1 : boolean +>delete ANY1 : boolean +>ANY1 : any + +var ResultIsBoolean2 = delete ANY2; +>ResultIsBoolean2 : boolean +>delete ANY2 : boolean +>ANY2 : any[] + +var ResultIsBoolean3 = delete A; +>ResultIsBoolean3 : boolean +>delete A : boolean +>A : typeof A + +var ResultIsBoolean4 = delete M; +>ResultIsBoolean4 : boolean +>delete M : boolean +>M : typeof M + +var ResultIsBoolean5 = delete obj; +>ResultIsBoolean5 : boolean +>delete obj : boolean +>obj : () => {} + +var ResultIsBoolean6 = delete obj1; +>ResultIsBoolean6 : boolean +>delete obj1 : boolean +>obj1 : { x: string; y: () => void; } + +// any type literal +var ResultIsBoolean7 = delete undefined; +>ResultIsBoolean7 : boolean +>delete undefined : boolean +>undefined : undefined + +var ResultIsBoolean8 = delete null; +>ResultIsBoolean8 : boolean +>delete null : boolean + +// any type expressions +var ResultIsBoolean9 = delete ANY2[0]; +>ResultIsBoolean9 : boolean +>delete ANY2[0] : boolean +>ANY2[0] : any +>ANY2 : any[] +>0 : 0 + +var ResultIsBoolean10 = delete obj1.x; +>ResultIsBoolean10 : boolean +>delete obj1.x : boolean +>obj1.x : string +>obj1 : { x: string; y: () => void; } +>x : string + +var ResultIsBoolean11 = delete obj1.y; +>ResultIsBoolean11 : boolean +>delete obj1.y : boolean +>obj1.y : () => void +>obj1 : { x: string; y: () => void; } +>y : () => void + +var ResultIsBoolean12 = delete objA.a; +>ResultIsBoolean12 : boolean +>delete objA.a : boolean +>objA.a : any +>objA : A +>a : any + +var ResultIsBoolean13 = delete M.n; +>ResultIsBoolean13 : boolean +>delete M.n : boolean +>M.n : any +>M : typeof M +>n : any + +var ResultIsBoolean14 = delete foo(); +>ResultIsBoolean14 : boolean +>delete foo() : boolean +>foo() : any +>foo : () => any + +var ResultIsBoolean15 = delete A.foo(); +>ResultIsBoolean15 : boolean +>delete A.foo() : boolean +>A.foo() : any +>A.foo : () => any +>A : typeof A +>foo : () => any + +var ResultIsBoolean16 = delete (ANY + ANY1); +>ResultIsBoolean16 : boolean +>delete (ANY + ANY1) : boolean +>(ANY + ANY1) : any +>ANY + ANY1 : any +>ANY : any +>ANY1 : any + +var ResultIsBoolean17 = delete (null + undefined); +>ResultIsBoolean17 : boolean +>delete (null + undefined) : boolean +>(null + undefined) : any +>null + undefined : any +>undefined : undefined + +var ResultIsBoolean18 = delete (null + null); +>ResultIsBoolean18 : boolean +>delete (null + null) : boolean +>(null + null) : any +>null + null : any + +var ResultIsBoolean19 = delete (undefined + undefined); +>ResultIsBoolean19 : boolean +>delete (undefined + undefined) : boolean +>(undefined + undefined) : any +>undefined + undefined : any +>undefined : undefined +>undefined : undefined + +// multiple delete operators +var ResultIsBoolean20 = delete delete ANY; +>ResultIsBoolean20 : boolean +>delete delete ANY : boolean +>delete ANY : boolean +>ANY : any + +var ResultIsBoolean21 = delete delete delete (ANY + ANY1); +>ResultIsBoolean21 : boolean +>delete delete delete (ANY + ANY1) : boolean +>delete delete (ANY + ANY1) : boolean +>delete (ANY + ANY1) : boolean +>(ANY + ANY1) : any +>ANY + ANY1 : any +>ANY : any +>ANY1 : any + +// miss assignment operators +delete ANY; +>delete ANY : boolean +>ANY : any + +delete ANY1; +>delete ANY1 : boolean +>ANY1 : any + +delete ANY2[0]; +>delete ANY2[0] : boolean +>ANY2[0] : any +>ANY2 : any[] +>0 : 0 + +delete ANY, ANY1; +>delete ANY, ANY1 : any +>delete ANY : boolean +>ANY : any +>ANY1 : any + +delete obj1.x; +>delete obj1.x : boolean +>obj1.x : string +>obj1 : { x: string; y: () => void; } +>x : string + +delete obj1.y; +>delete obj1.y : boolean +>obj1.y : () => void +>obj1 : { x: string; y: () => void; } +>y : () => void + +delete objA.a; +>delete objA.a : boolean +>objA.a : any +>objA : A +>a : any + +delete M.n; +>delete M.n : boolean +>M.n : any +>M : typeof M +>n : any + diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).errors.txt b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).errors.txt new file mode 100644 index 00000000000..5a1824c3abe --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).errors.txt @@ -0,0 +1,10 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +emitArrowFunctionWhenUsingArguments03.ts(1,5): error TS1100: Invalid use of 'arguments' in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== emitArrowFunctionWhenUsingArguments03.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/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).errors.txt.diff new file mode 100644 index 00000000000..17e707e40b5 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).errors.txt.diff @@ -0,0 +1,14 @@ +--- old.emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).errors.txt ++++ new.emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++emitArrowFunctionWhenUsingArguments03.ts(1,5): error TS1100: Invalid use of 'arguments' in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== emitArrowFunctionWhenUsingArguments03.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/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).js new file mode 100644 index 00000000000..271ba917a3c --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).js @@ -0,0 +1,10 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments03.ts] //// + +//// [emitArrowFunctionWhenUsingArguments03.ts] +var arguments; +var a = () => arguments; + +//// [emitArrowFunctionWhenUsingArguments03.js] +"use strict"; +var arguments; +var a = () => arguments; diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).js.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).js.diff new file mode 100644 index 00000000000..e18d8c69d79 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).js.diff @@ -0,0 +1,9 @@ +--- old.emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).js ++++ new.emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).js +@@= skipped -4, +4 lines =@@ + var a = () => arguments; + + //// [emitArrowFunctionWhenUsingArguments03.js] ++"use strict"; + var arguments; + var a = () => arguments; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).symbols new file mode 100644 index 00000000000..e54b9ef5bd4 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).symbols @@ -0,0 +1,10 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments03.ts] //// + +=== emitArrowFunctionWhenUsingArguments03.ts === +var arguments; +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments03.ts, 0, 3)) + +var a = () => arguments; +>a : Symbol(a, Decl(emitArrowFunctionWhenUsingArguments03.ts, 1, 3)) +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments03.ts, 0, 3)) + diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).types b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).types new file mode 100644 index 00000000000..3edb5f2d64d --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03(alwaysstrict=false,target=es2015).types @@ -0,0 +1,11 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments03.ts] //// + +=== emitArrowFunctionWhenUsingArguments03.ts === +var arguments; +>arguments : any + +var a = () => arguments; +>a : () => any +>() => arguments : () => any +>arguments : any + diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..7ca92bd014d --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).errors.txt @@ -0,0 +1,10 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +emitArrowFunctionWhenUsingArguments03_ES6.ts(1,5): error TS1100: Invalid use of 'arguments' in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== 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/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..80cdad20712 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,14 @@ +--- old.emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).errors.txt ++++ new.emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++emitArrowFunctionWhenUsingArguments03_ES6.ts(1,5): error TS1100: Invalid use of 'arguments' in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== 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/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).js new file mode 100644 index 00000000000..c2ffd90be11 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).js @@ -0,0 +1,10 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments03_ES6.ts] //// + +//// [emitArrowFunctionWhenUsingArguments03_ES6.ts] +var arguments; +var a = () => arguments; + +//// [emitArrowFunctionWhenUsingArguments03_ES6.js] +"use strict"; +var arguments; +var a = () => arguments; diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..52cf2d48544 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).js.diff @@ -0,0 +1,9 @@ +--- old.emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).js ++++ new.emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).js +@@= skipped -4, +4 lines =@@ + var a = () => arguments; + + //// [emitArrowFunctionWhenUsingArguments03_ES6.js] ++"use strict"; + var arguments; + var a = () => arguments; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).symbols new file mode 100644 index 00000000000..35b0aedddde --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).symbols @@ -0,0 +1,10 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments03_ES6.ts] //// + +=== emitArrowFunctionWhenUsingArguments03_ES6.ts === +var arguments; +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments03_ES6.ts, 0, 3)) + +var a = () => arguments; +>a : Symbol(a, Decl(emitArrowFunctionWhenUsingArguments03_ES6.ts, 1, 3)) +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments03_ES6.ts, 0, 3)) + diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).types b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).types new file mode 100644 index 00000000000..7014f5fc780 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments03_ES6(alwaysstrict=false).types @@ -0,0 +1,11 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments03_ES6.ts] //// + +=== emitArrowFunctionWhenUsingArguments03_ES6.ts === +var arguments; +>arguments : any + +var a = () => arguments; +>a : () => any +>() => arguments : () => any +>arguments : any + diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).errors.txt b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).errors.txt new file mode 100644 index 00000000000..8c460ae5e7f --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).errors.txt @@ -0,0 +1,12 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +emitArrowFunctionWhenUsingArguments04.ts(2,9): error TS1100: Invalid use of 'arguments' in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== emitArrowFunctionWhenUsingArguments04.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/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).errors.txt.diff new file mode 100644 index 00000000000..30b1d1987fe --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).errors.txt.diff @@ -0,0 +1,16 @@ +--- old.emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).errors.txt ++++ new.emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++emitArrowFunctionWhenUsingArguments04.ts(2,9): error TS1100: Invalid use of 'arguments' in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== emitArrowFunctionWhenUsingArguments04.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/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).js new file mode 100644 index 00000000000..a3668d06e1d --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).js @@ -0,0 +1,14 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments04.ts] //// + +//// [emitArrowFunctionWhenUsingArguments04.ts] +function f() { + var arguments; + var a = () => arguments; +} + +//// [emitArrowFunctionWhenUsingArguments04.js] +"use strict"; +function f() { + var arguments; + var a = () => arguments; +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).js.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).js.diff new file mode 100644 index 00000000000..aa3cbef67fa --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).js.diff @@ -0,0 +1,10 @@ +--- old.emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).js ++++ new.emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).js +@@= skipped -6, +6 lines =@@ + } + + //// [emitArrowFunctionWhenUsingArguments04.js] ++"use strict"; + function f() { + var arguments; + var a = () => arguments; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).symbols new file mode 100644 index 00000000000..1b2fc7cf3fe --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).symbols @@ -0,0 +1,13 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments04.ts] //// + +=== emitArrowFunctionWhenUsingArguments04.ts === +function f() { +>f : Symbol(f, Decl(emitArrowFunctionWhenUsingArguments04.ts, 0, 0)) + + var arguments; +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments04.ts, 1, 7)) + + var a = () => arguments; +>a : Symbol(a, Decl(emitArrowFunctionWhenUsingArguments04.ts, 2, 7)) +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments04.ts, 1, 7)) +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).types b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).types new file mode 100644 index 00000000000..8019da88595 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04(alwaysstrict=false,target=es2015).types @@ -0,0 +1,14 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments04.ts] //// + +=== emitArrowFunctionWhenUsingArguments04.ts === +function f() { +>f : () => void + + var arguments; +>arguments : any + + var a = () => arguments; +>a : () => any +>() => arguments : () => any +>arguments : any +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..085ccb9b0c7 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).errors.txt @@ -0,0 +1,12 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +emitArrowFunctionWhenUsingArguments04_ES6.ts(2,9): error TS1100: Invalid use of 'arguments' in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== 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/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..0d6aab9343d --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,16 @@ +--- old.emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).errors.txt ++++ new.emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++emitArrowFunctionWhenUsingArguments04_ES6.ts(2,9): error TS1100: Invalid use of 'arguments' in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== 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/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).js new file mode 100644 index 00000000000..fcd2776bb88 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).js @@ -0,0 +1,14 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments04_ES6.ts] //// + +//// [emitArrowFunctionWhenUsingArguments04_ES6.ts] +function f() { + var arguments; + var a = () => arguments; +} + +//// [emitArrowFunctionWhenUsingArguments04_ES6.js] +"use strict"; +function f() { + var arguments; + var a = () => arguments; +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..da3bff82257 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).js.diff @@ -0,0 +1,10 @@ +--- old.emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).js ++++ new.emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).js +@@= skipped -6, +6 lines =@@ + } + + //// [emitArrowFunctionWhenUsingArguments04_ES6.js] ++"use strict"; + function f() { + var arguments; + var a = () => arguments; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).symbols new file mode 100644 index 00000000000..0d8ae60fd6d --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).symbols @@ -0,0 +1,13 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments04_ES6.ts] //// + +=== emitArrowFunctionWhenUsingArguments04_ES6.ts === +function f() { +>f : Symbol(f, Decl(emitArrowFunctionWhenUsingArguments04_ES6.ts, 0, 0)) + + var arguments; +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments04_ES6.ts, 1, 7)) + + var a = () => arguments; +>a : Symbol(a, Decl(emitArrowFunctionWhenUsingArguments04_ES6.ts, 2, 7)) +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments04_ES6.ts, 1, 7)) +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).types b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).types new file mode 100644 index 00000000000..2c0f5a11840 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments04_ES6(alwaysstrict=false).types @@ -0,0 +1,14 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments04_ES6.ts] //// + +=== emitArrowFunctionWhenUsingArguments04_ES6.ts === +function f() { +>f : () => void + + var arguments; +>arguments : any + + var a = () => arguments; +>a : () => any +>() => arguments : () => any +>arguments : any +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).errors.txt b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).errors.txt new file mode 100644 index 00000000000..80dccceb1ec --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).errors.txt @@ -0,0 +1,11 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +emitArrowFunctionWhenUsingArguments05.ts(1,12): error TS1100: Invalid use of 'arguments' in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== emitArrowFunctionWhenUsingArguments05.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/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).errors.txt.diff new file mode 100644 index 00000000000..ae25757819f --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).errors.txt.diff @@ -0,0 +1,15 @@ +--- old.emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).errors.txt ++++ new.emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++emitArrowFunctionWhenUsingArguments05.ts(1,12): error TS1100: Invalid use of 'arguments' in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== emitArrowFunctionWhenUsingArguments05.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/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).js new file mode 100644 index 00000000000..656127f2745 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).js @@ -0,0 +1,12 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments05.ts] //// + +//// [emitArrowFunctionWhenUsingArguments05.ts] +function f(arguments) { + var a = () => arguments; +} + +//// [emitArrowFunctionWhenUsingArguments05.js] +"use strict"; +function f(arguments) { + var a = () => arguments; +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).js.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).js.diff new file mode 100644 index 00000000000..1b2cfeed2f3 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).js.diff @@ -0,0 +1,10 @@ +--- old.emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).js ++++ new.emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).js +@@= skipped -5, +5 lines =@@ + } + + //// [emitArrowFunctionWhenUsingArguments05.js] ++"use strict"; + function f(arguments) { + var a = () => arguments; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).symbols new file mode 100644 index 00000000000..254d7203b21 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).symbols @@ -0,0 +1,11 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments05.ts] //// + +=== emitArrowFunctionWhenUsingArguments05.ts === +function f(arguments) { +>f : Symbol(f, Decl(emitArrowFunctionWhenUsingArguments05.ts, 0, 0)) +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments05.ts, 0, 11)) + + var a = () => arguments; +>a : Symbol(a, Decl(emitArrowFunctionWhenUsingArguments05.ts, 1, 7)) +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments05.ts, 0, 11)) +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).types b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).types new file mode 100644 index 00000000000..8b2e563d58d --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05(alwaysstrict=false,target=es2015).types @@ -0,0 +1,12 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments05.ts] //// + +=== emitArrowFunctionWhenUsingArguments05.ts === +function f(arguments) { +>f : (arguments: any) => void +>arguments : any + + var a = () => arguments; +>a : () => any +>() => arguments : () => any +>arguments : any +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..07ea7fa59c1 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).errors.txt @@ -0,0 +1,11 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +emitArrowFunctionWhenUsingArguments05_ES6.ts(1,12): error TS1100: Invalid use of 'arguments' in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== 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/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..86586eace88 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,15 @@ +--- old.emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).errors.txt ++++ new.emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++emitArrowFunctionWhenUsingArguments05_ES6.ts(1,12): error TS1100: Invalid use of 'arguments' in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== 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/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).js new file mode 100644 index 00000000000..8357771c23e --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).js @@ -0,0 +1,12 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments05_ES6.ts] //// + +//// [emitArrowFunctionWhenUsingArguments05_ES6.ts] +function f(arguments) { + var a = () => arguments; +} + +//// [emitArrowFunctionWhenUsingArguments05_ES6.js] +"use strict"; +function f(arguments) { + var a = () => arguments; +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..8e3915e8682 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).js.diff @@ -0,0 +1,10 @@ +--- old.emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).js ++++ new.emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).js +@@= skipped -5, +5 lines =@@ + } + + //// [emitArrowFunctionWhenUsingArguments05_ES6.js] ++"use strict"; + function f(arguments) { + var a = () => arguments; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).symbols new file mode 100644 index 00000000000..4541c989103 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).symbols @@ -0,0 +1,11 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments05_ES6.ts] //// + +=== emitArrowFunctionWhenUsingArguments05_ES6.ts === +function f(arguments) { +>f : Symbol(f, Decl(emitArrowFunctionWhenUsingArguments05_ES6.ts, 0, 0)) +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments05_ES6.ts, 0, 11)) + + var a = () => arguments; +>a : Symbol(a, Decl(emitArrowFunctionWhenUsingArguments05_ES6.ts, 1, 7)) +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments05_ES6.ts, 0, 11)) +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).types b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).types new file mode 100644 index 00000000000..064a5a801a1 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments05_ES6(alwaysstrict=false).types @@ -0,0 +1,12 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments05_ES6.ts] //// + +=== emitArrowFunctionWhenUsingArguments05_ES6.ts === +function f(arguments) { +>f : (arguments: any) => void +>arguments : any + + var a = () => arguments; +>a : () => any +>() => arguments : () => any +>arguments : any +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).errors.txt b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).errors.txt new file mode 100644 index 00000000000..b5a9783713d --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).errors.txt @@ -0,0 +1,11 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +emitArrowFunctionWhenUsingArguments06.ts(1,12): error TS1100: Invalid use of 'arguments' in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== emitArrowFunctionWhenUsingArguments06.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/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).errors.txt.diff new file mode 100644 index 00000000000..9cd69bfeb73 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).errors.txt.diff @@ -0,0 +1,15 @@ +--- old.emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).errors.txt ++++ new.emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++emitArrowFunctionWhenUsingArguments06.ts(1,12): error TS1100: Invalid use of 'arguments' in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== emitArrowFunctionWhenUsingArguments06.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/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).js new file mode 100644 index 00000000000..b41886064e5 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).js @@ -0,0 +1,12 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments06.ts] //// + +//// [emitArrowFunctionWhenUsingArguments06.ts] +function f(arguments) { + var a = () => () => arguments; +} + +//// [emitArrowFunctionWhenUsingArguments06.js] +"use strict"; +function f(arguments) { + var a = () => () => arguments; +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).js.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).js.diff new file mode 100644 index 00000000000..d12e9b9402b --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).js.diff @@ -0,0 +1,10 @@ +--- old.emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).js ++++ new.emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).js +@@= skipped -5, +5 lines =@@ + } + + //// [emitArrowFunctionWhenUsingArguments06.js] ++"use strict"; + function f(arguments) { + var a = () => () => arguments; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).symbols new file mode 100644 index 00000000000..b9bf50b481a --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).symbols @@ -0,0 +1,11 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments06.ts] //// + +=== emitArrowFunctionWhenUsingArguments06.ts === +function f(arguments) { +>f : Symbol(f, Decl(emitArrowFunctionWhenUsingArguments06.ts, 0, 0)) +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments06.ts, 0, 11)) + + var a = () => () => arguments; +>a : Symbol(a, Decl(emitArrowFunctionWhenUsingArguments06.ts, 1, 7)) +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments06.ts, 0, 11)) +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).types b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).types new file mode 100644 index 00000000000..307ea4a32d8 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06(alwaysstrict=false,target=es2015).types @@ -0,0 +1,13 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments06.ts] //// + +=== emitArrowFunctionWhenUsingArguments06.ts === +function f(arguments) { +>f : (arguments: any) => void +>arguments : any + + var a = () => () => arguments; +>a : () => () => any +>() => () => arguments : () => () => any +>() => arguments : () => any +>arguments : any +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..51bd247093e --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).errors.txt @@ -0,0 +1,11 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +emitArrowFunctionWhenUsingArguments06_ES6.ts(1,12): error TS1100: Invalid use of 'arguments' in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== 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/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..9e5a1ca6516 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,15 @@ +--- old.emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).errors.txt ++++ new.emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++emitArrowFunctionWhenUsingArguments06_ES6.ts(1,12): error TS1100: Invalid use of 'arguments' in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== 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/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).js new file mode 100644 index 00000000000..021c69f13be --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).js @@ -0,0 +1,12 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments06_ES6.ts] //// + +//// [emitArrowFunctionWhenUsingArguments06_ES6.ts] +function f(arguments) { + var a = () => () => arguments; +} + +//// [emitArrowFunctionWhenUsingArguments06_ES6.js] +"use strict"; +function f(arguments) { + var a = () => () => arguments; +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..b63453b952a --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).js.diff @@ -0,0 +1,10 @@ +--- old.emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).js ++++ new.emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).js +@@= skipped -5, +5 lines =@@ + } + + //// [emitArrowFunctionWhenUsingArguments06_ES6.js] ++"use strict"; + function f(arguments) { + var a = () => () => arguments; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).symbols new file mode 100644 index 00000000000..0f0037ef64d --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).symbols @@ -0,0 +1,11 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments06_ES6.ts] //// + +=== emitArrowFunctionWhenUsingArguments06_ES6.ts === +function f(arguments) { +>f : Symbol(f, Decl(emitArrowFunctionWhenUsingArguments06_ES6.ts, 0, 0)) +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments06_ES6.ts, 0, 11)) + + var a = () => () => arguments; +>a : Symbol(a, Decl(emitArrowFunctionWhenUsingArguments06_ES6.ts, 1, 7)) +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments06_ES6.ts, 0, 11)) +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).types b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).types new file mode 100644 index 00000000000..6e14ebe359c --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments06_ES6(alwaysstrict=false).types @@ -0,0 +1,13 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments06_ES6.ts] //// + +=== emitArrowFunctionWhenUsingArguments06_ES6.ts === +function f(arguments) { +>f : (arguments: any) => void +>arguments : any + + var a = () => () => arguments; +>a : () => () => any +>() => () => arguments : () => () => any +>() => arguments : () => any +>arguments : any +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).errors.txt b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).errors.txt new file mode 100644 index 00000000000..8bbb2a82a83 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).errors.txt @@ -0,0 +1,14 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +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. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== emitArrowFunctionWhenUsingArguments07.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/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).errors.txt.diff new file mode 100644 index 00000000000..a9faca2aa07 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).errors.txt.diff @@ -0,0 +1,18 @@ +--- old.emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).errors.txt ++++ new.emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++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. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== emitArrowFunctionWhenUsingArguments07.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/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).js new file mode 100644 index 00000000000..cbaa3d748b8 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).js @@ -0,0 +1,12 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments07.ts] //// + +//// [emitArrowFunctionWhenUsingArguments07.ts] +function f(arguments) { + var a = (arguments) => () => arguments; +} + +//// [emitArrowFunctionWhenUsingArguments07.js] +"use strict"; +function f(arguments) { + var a = (arguments) => () => arguments; +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).js.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).js.diff new file mode 100644 index 00000000000..a329bf6224e --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).js.diff @@ -0,0 +1,10 @@ +--- old.emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).js ++++ new.emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).js +@@= skipped -5, +5 lines =@@ + } + + //// [emitArrowFunctionWhenUsingArguments07.js] ++"use strict"; + function f(arguments) { + var a = (arguments) => () => arguments; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).symbols new file mode 100644 index 00000000000..bbfaf7221f8 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).symbols @@ -0,0 +1,12 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments07.ts] //// + +=== emitArrowFunctionWhenUsingArguments07.ts === +function f(arguments) { +>f : Symbol(f, Decl(emitArrowFunctionWhenUsingArguments07.ts, 0, 0)) +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments07.ts, 0, 11)) + + var a = (arguments) => () => arguments; +>a : Symbol(a, Decl(emitArrowFunctionWhenUsingArguments07.ts, 1, 7)) +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments07.ts, 1, 13)) +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments07.ts, 1, 13)) +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).types b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).types new file mode 100644 index 00000000000..ac1b84f2437 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07(alwaysstrict=false,target=es2015).types @@ -0,0 +1,14 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments07.ts] //// + +=== emitArrowFunctionWhenUsingArguments07.ts === +function f(arguments) { +>f : (arguments: any) => void +>arguments : any + + var a = (arguments) => () => arguments; +>a : (arguments: any) => () => any +>(arguments) => () => arguments : (arguments: any) => () => any +>arguments : any +>() => arguments : () => any +>arguments : any +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..b4629fa85a8 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).errors.txt @@ -0,0 +1,14 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +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. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== 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/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..a23283ae708 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,18 @@ +--- old.emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).errors.txt ++++ new.emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++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. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== 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/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).js new file mode 100644 index 00000000000..0b952c6b19f --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).js @@ -0,0 +1,12 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments07_ES6.ts] //// + +//// [emitArrowFunctionWhenUsingArguments07_ES6.ts] +function f(arguments) { + var a = (arguments) => () => arguments; +} + +//// [emitArrowFunctionWhenUsingArguments07_ES6.js] +"use strict"; +function f(arguments) { + var a = (arguments) => () => arguments; +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..a7f17039581 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).js.diff @@ -0,0 +1,10 @@ +--- old.emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).js ++++ new.emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).js +@@= skipped -5, +5 lines =@@ + } + + //// [emitArrowFunctionWhenUsingArguments07_ES6.js] ++"use strict"; + function f(arguments) { + var a = (arguments) => () => arguments; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).symbols new file mode 100644 index 00000000000..e0ad9357de2 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).symbols @@ -0,0 +1,12 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments07_ES6.ts] //// + +=== emitArrowFunctionWhenUsingArguments07_ES6.ts === +function f(arguments) { +>f : Symbol(f, Decl(emitArrowFunctionWhenUsingArguments07_ES6.ts, 0, 0)) +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments07_ES6.ts, 0, 11)) + + var a = (arguments) => () => arguments; +>a : Symbol(a, Decl(emitArrowFunctionWhenUsingArguments07_ES6.ts, 1, 7)) +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments07_ES6.ts, 1, 13)) +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments07_ES6.ts, 1, 13)) +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).types b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).types new file mode 100644 index 00000000000..8b3cb31cbee --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments07_ES6(alwaysstrict=false).types @@ -0,0 +1,14 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments07_ES6.ts] //// + +=== emitArrowFunctionWhenUsingArguments07_ES6.ts === +function f(arguments) { +>f : (arguments: any) => void +>arguments : any + + var a = (arguments) => () => arguments; +>a : (arguments: any) => () => any +>(arguments) => () => arguments : (arguments: any) => () => any +>arguments : any +>() => arguments : () => any +>arguments : any +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).errors.txt b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).errors.txt new file mode 100644 index 00000000000..8900a568d82 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).errors.txt @@ -0,0 +1,14 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +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. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== 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/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).errors.txt.diff new file mode 100644 index 00000000000..5510fed9208 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).errors.txt.diff @@ -0,0 +1,18 @@ +--- old.emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).errors.txt ++++ new.emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++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. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== 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/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).js new file mode 100644 index 00000000000..89337e3c476 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).js @@ -0,0 +1,12 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments08.ts] //// + +//// [emitArrowFunctionWhenUsingArguments08.ts] +function f(arguments) { + var a = () => (arguments) => arguments; +} + +//// [emitArrowFunctionWhenUsingArguments08.js] +"use strict"; +function f(arguments) { + var a = () => (arguments) => arguments; +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).js.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).js.diff new file mode 100644 index 00000000000..57d7fc54333 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).js.diff @@ -0,0 +1,10 @@ +--- old.emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).js ++++ new.emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).js +@@= skipped -5, +5 lines =@@ + } + + //// [emitArrowFunctionWhenUsingArguments08.js] ++"use strict"; + function f(arguments) { + var a = () => (arguments) => arguments; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).symbols new file mode 100644 index 00000000000..b06a65d46f8 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).symbols @@ -0,0 +1,12 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments08.ts] //// + +=== emitArrowFunctionWhenUsingArguments08.ts === +function f(arguments) { +>f : Symbol(f, Decl(emitArrowFunctionWhenUsingArguments08.ts, 0, 0)) +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments08.ts, 0, 11)) + + var a = () => (arguments) => arguments; +>a : Symbol(a, Decl(emitArrowFunctionWhenUsingArguments08.ts, 1, 7)) +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments08.ts, 1, 19)) +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments08.ts, 1, 19)) +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).types b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).types new file mode 100644 index 00000000000..67604a92ea6 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08(alwaysstrict=false,target=es2015).types @@ -0,0 +1,14 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments08.ts] //// + +=== emitArrowFunctionWhenUsingArguments08.ts === +function f(arguments) { +>f : (arguments: any) => void +>arguments : any + + var a = () => (arguments) => arguments; +>a : () => (arguments: any) => any +>() => (arguments) => arguments : () => (arguments: any) => any +>(arguments) => arguments : (arguments: any) => any +>arguments : any +>arguments : any +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..c5874c7ede1 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).errors.txt @@ -0,0 +1,14 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +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. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== 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/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..66c4722490b --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,18 @@ +--- old.emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).errors.txt ++++ new.emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++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. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== 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/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).js new file mode 100644 index 00000000000..7e5f8d3d2be --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).js @@ -0,0 +1,12 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments08_ES6.ts] //// + +//// [emitArrowFunctionWhenUsingArguments08_ES6.ts] +function f(arguments) { + var a = () => (arguments) => arguments; +} + +//// [emitArrowFunctionWhenUsingArguments08_ES6.js] +"use strict"; +function f(arguments) { + var a = () => (arguments) => arguments; +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..536cd38efa2 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).js.diff @@ -0,0 +1,10 @@ +--- old.emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).js ++++ new.emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).js +@@= skipped -5, +5 lines =@@ + } + + //// [emitArrowFunctionWhenUsingArguments08_ES6.js] ++"use strict"; + function f(arguments) { + var a = () => (arguments) => arguments; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).symbols new file mode 100644 index 00000000000..fbc04873293 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).symbols @@ -0,0 +1,12 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments08_ES6.ts] //// + +=== emitArrowFunctionWhenUsingArguments08_ES6.ts === +function f(arguments) { +>f : Symbol(f, Decl(emitArrowFunctionWhenUsingArguments08_ES6.ts, 0, 0)) +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments08_ES6.ts, 0, 11)) + + var a = () => (arguments) => arguments; +>a : Symbol(a, Decl(emitArrowFunctionWhenUsingArguments08_ES6.ts, 1, 7)) +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments08_ES6.ts, 1, 19)) +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments08_ES6.ts, 1, 19)) +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).types b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).types new file mode 100644 index 00000000000..e9c0d84684d --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments08_ES6(alwaysstrict=false).types @@ -0,0 +1,14 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments08_ES6.ts] //// + +=== emitArrowFunctionWhenUsingArguments08_ES6.ts === +function f(arguments) { +>f : (arguments: any) => void +>arguments : any + + var a = () => (arguments) => arguments; +>a : () => (arguments: any) => any +>() => (arguments) => arguments : () => (arguments: any) => any +>(arguments) => arguments : (arguments: any) => any +>arguments : any +>arguments : any +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).errors.txt b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).errors.txt new file mode 100644 index 00000000000..f9ebcc9eb72 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).errors.txt @@ -0,0 +1,12 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +emitArrowFunctionWhenUsingArguments11.ts(1,12): error TS1100: Invalid use of 'arguments' in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== emitArrowFunctionWhenUsingArguments11.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/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).errors.txt.diff new file mode 100644 index 00000000000..dae4a050d5d --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).errors.txt.diff @@ -0,0 +1,16 @@ +--- old.emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).errors.txt ++++ new.emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++emitArrowFunctionWhenUsingArguments11.ts(1,12): error TS1100: Invalid use of 'arguments' in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== emitArrowFunctionWhenUsingArguments11.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/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).js new file mode 100644 index 00000000000..4849446076e --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).js @@ -0,0 +1,14 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments11.ts] //// + +//// [emitArrowFunctionWhenUsingArguments11.ts] +function f(arguments) { + var _arguments = 10; + var a = () => () => arguments; +} + +//// [emitArrowFunctionWhenUsingArguments11.js] +"use strict"; +function f(arguments) { + var _arguments = 10; + var a = () => () => arguments; +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).js.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).js.diff new file mode 100644 index 00000000000..88a6733f2a8 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).js.diff @@ -0,0 +1,10 @@ +--- old.emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).js ++++ new.emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).js +@@= skipped -6, +6 lines =@@ + } + + //// [emitArrowFunctionWhenUsingArguments11.js] ++"use strict"; + function f(arguments) { + var _arguments = 10; + var a = () => () => arguments; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).symbols new file mode 100644 index 00000000000..96debf73c83 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).symbols @@ -0,0 +1,14 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments11.ts] //// + +=== emitArrowFunctionWhenUsingArguments11.ts === +function f(arguments) { +>f : Symbol(f, Decl(emitArrowFunctionWhenUsingArguments11.ts, 0, 0)) +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments11.ts, 0, 11)) + + var _arguments = 10; +>_arguments : Symbol(_arguments, Decl(emitArrowFunctionWhenUsingArguments11.ts, 1, 7)) + + var a = () => () => arguments; +>a : Symbol(a, Decl(emitArrowFunctionWhenUsingArguments11.ts, 2, 7)) +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments11.ts, 0, 11)) +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).types b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).types new file mode 100644 index 00000000000..606e858e5b1 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11(alwaysstrict=false,target=es2015).types @@ -0,0 +1,17 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments11.ts] //// + +=== emitArrowFunctionWhenUsingArguments11.ts === +function f(arguments) { +>f : (arguments: any) => void +>arguments : any + + var _arguments = 10; +>_arguments : number +>10 : 10 + + var a = () => () => arguments; +>a : () => () => any +>() => () => arguments : () => () => any +>() => arguments : () => any +>arguments : any +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..46e4a4b406c --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).errors.txt @@ -0,0 +1,12 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +emitArrowFunctionWhenUsingArguments11_ES6.ts(1,12): error TS1100: Invalid use of 'arguments' in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== 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/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..5ae90ca06d5 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,16 @@ +--- old.emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).errors.txt ++++ new.emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++emitArrowFunctionWhenUsingArguments11_ES6.ts(1,12): error TS1100: Invalid use of 'arguments' in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== 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/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).js new file mode 100644 index 00000000000..4fc5e40566e --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).js @@ -0,0 +1,14 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments11_ES6.ts] //// + +//// [emitArrowFunctionWhenUsingArguments11_ES6.ts] +function f(arguments) { + var _arguments = 10; + var a = () => () => arguments; +} + +//// [emitArrowFunctionWhenUsingArguments11_ES6.js] +"use strict"; +function f(arguments) { + var _arguments = 10; + var a = () => () => arguments; +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..73ef541acb6 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).js.diff @@ -0,0 +1,10 @@ +--- old.emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).js ++++ new.emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).js +@@= skipped -6, +6 lines =@@ + } + + //// [emitArrowFunctionWhenUsingArguments11_ES6.js] ++"use strict"; + function f(arguments) { + var _arguments = 10; + var a = () => () => arguments; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).symbols new file mode 100644 index 00000000000..9f40cf1de3a --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).symbols @@ -0,0 +1,14 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments11_ES6.ts] //// + +=== emitArrowFunctionWhenUsingArguments11_ES6.ts === +function f(arguments) { +>f : Symbol(f, Decl(emitArrowFunctionWhenUsingArguments11_ES6.ts, 0, 0)) +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments11_ES6.ts, 0, 11)) + + var _arguments = 10; +>_arguments : Symbol(_arguments, Decl(emitArrowFunctionWhenUsingArguments11_ES6.ts, 1, 7)) + + var a = () => () => arguments; +>a : Symbol(a, Decl(emitArrowFunctionWhenUsingArguments11_ES6.ts, 2, 7)) +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments11_ES6.ts, 0, 11)) +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).types b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).types new file mode 100644 index 00000000000..cd6dfd82c84 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments11_ES6(alwaysstrict=false).types @@ -0,0 +1,17 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments11_ES6.ts] //// + +=== emitArrowFunctionWhenUsingArguments11_ES6.ts === +function f(arguments) { +>f : (arguments: any) => void +>arguments : any + + var _arguments = 10; +>_arguments : number +>10 : 10 + + var a = () => () => arguments; +>a : () => () => any +>() => () => arguments : () => () => any +>() => arguments : () => any +>arguments : any +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).errors.txt b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).errors.txt new file mode 100644 index 00000000000..0660fdbd992 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).errors.txt @@ -0,0 +1,12 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +emitArrowFunctionWhenUsingArguments13.ts(3,14): error TS1100: Invalid use of 'arguments' in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== 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/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).errors.txt.diff new file mode 100644 index 00000000000..0b05300069f --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).errors.txt.diff @@ -0,0 +1,16 @@ +--- old.emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).errors.txt ++++ new.emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++emitArrowFunctionWhenUsingArguments13.ts(3,14): error TS1100: Invalid use of 'arguments' in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== 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/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).js new file mode 100644 index 00000000000..2c84f294f13 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).js @@ -0,0 +1,14 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments13.ts] //// + +//// [emitArrowFunctionWhenUsingArguments13.ts] +function f() { + var _arguments = 10; + var a = (arguments) => () => _arguments; +} + +//// [emitArrowFunctionWhenUsingArguments13.js] +"use strict"; +function f() { + var _arguments = 10; + var a = (arguments) => () => _arguments; +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).js.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).js.diff new file mode 100644 index 00000000000..ab65d0acb48 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).js.diff @@ -0,0 +1,10 @@ +--- old.emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).js ++++ new.emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).js +@@= skipped -6, +6 lines =@@ + } + + //// [emitArrowFunctionWhenUsingArguments13.js] ++"use strict"; + function f() { + var _arguments = 10; + var a = (arguments) => () => _arguments; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).symbols new file mode 100644 index 00000000000..c326e772a42 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).symbols @@ -0,0 +1,14 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments13.ts] //// + +=== emitArrowFunctionWhenUsingArguments13.ts === +function f() { +>f : Symbol(f, Decl(emitArrowFunctionWhenUsingArguments13.ts, 0, 0)) + + var _arguments = 10; +>_arguments : Symbol(_arguments, Decl(emitArrowFunctionWhenUsingArguments13.ts, 1, 7)) + + var a = (arguments) => () => _arguments; +>a : Symbol(a, Decl(emitArrowFunctionWhenUsingArguments13.ts, 2, 7)) +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments13.ts, 2, 13)) +>_arguments : Symbol(_arguments, Decl(emitArrowFunctionWhenUsingArguments13.ts, 1, 7)) +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).types b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).types new file mode 100644 index 00000000000..2a1bda2769f --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13(alwaysstrict=false,target=es2015).types @@ -0,0 +1,17 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments13.ts] //// + +=== emitArrowFunctionWhenUsingArguments13.ts === +function f() { +>f : () => void + + var _arguments = 10; +>_arguments : number +>10 : 10 + + var a = (arguments) => () => _arguments; +>a : (arguments: any) => () => number +>(arguments) => () => _arguments : (arguments: any) => () => number +>arguments : any +>() => _arguments : () => number +>_arguments : number +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..d4cf1e4a0c4 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).errors.txt @@ -0,0 +1,12 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +emitArrowFunctionWhenUsingArguments13_ES6.ts(3,14): error TS1100: Invalid use of 'arguments' in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== 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/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..8eb802ca221 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,16 @@ +--- old.emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).errors.txt ++++ new.emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++emitArrowFunctionWhenUsingArguments13_ES6.ts(3,14): error TS1100: Invalid use of 'arguments' in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== 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/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).js new file mode 100644 index 00000000000..4e96874003a --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).js @@ -0,0 +1,14 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments13_ES6.ts] //// + +//// [emitArrowFunctionWhenUsingArguments13_ES6.ts] +function f() { + var _arguments = 10; + var a = (arguments) => () => _arguments; +} + +//// [emitArrowFunctionWhenUsingArguments13_ES6.js] +"use strict"; +function f() { + var _arguments = 10; + var a = (arguments) => () => _arguments; +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..7c3ab4c9441 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).js.diff @@ -0,0 +1,10 @@ +--- old.emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).js ++++ new.emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).js +@@= skipped -6, +6 lines =@@ + } + + //// [emitArrowFunctionWhenUsingArguments13_ES6.js] ++"use strict"; + function f() { + var _arguments = 10; + var a = (arguments) => () => _arguments; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).symbols new file mode 100644 index 00000000000..0b1107b185b --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).symbols @@ -0,0 +1,14 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments13_ES6.ts] //// + +=== emitArrowFunctionWhenUsingArguments13_ES6.ts === +function f() { +>f : Symbol(f, Decl(emitArrowFunctionWhenUsingArguments13_ES6.ts, 0, 0)) + + var _arguments = 10; +>_arguments : Symbol(_arguments, Decl(emitArrowFunctionWhenUsingArguments13_ES6.ts, 1, 7)) + + var a = (arguments) => () => _arguments; +>a : Symbol(a, Decl(emitArrowFunctionWhenUsingArguments13_ES6.ts, 2, 7)) +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments13_ES6.ts, 2, 13)) +>_arguments : Symbol(_arguments, Decl(emitArrowFunctionWhenUsingArguments13_ES6.ts, 1, 7)) +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).types b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).types new file mode 100644 index 00000000000..4ef40061e5f --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments13_ES6(alwaysstrict=false).types @@ -0,0 +1,17 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments13_ES6.ts] //// + +=== emitArrowFunctionWhenUsingArguments13_ES6.ts === +function f() { +>f : () => void + + var _arguments = 10; +>_arguments : number +>10 : 10 + + var a = (arguments) => () => _arguments; +>a : (arguments: any) => () => number +>(arguments) => () => _arguments : (arguments: any) => () => number +>arguments : any +>() => _arguments : () => number +>_arguments : number +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).errors.txt b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).errors.txt new file mode 100644 index 00000000000..e9ff05467fd --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).errors.txt @@ -0,0 +1,14 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +emitArrowFunctionWhenUsingArguments14.ts(3,15): error TS1100: Invalid use of 'arguments' in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== emitArrowFunctionWhenUsingArguments14.ts (1 errors) ==== + function f() { + 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/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).errors.txt.diff new file mode 100644 index 00000000000..ab7aea46fd1 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).errors.txt.diff @@ -0,0 +1,18 @@ +--- old.emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).errors.txt ++++ new.emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++emitArrowFunctionWhenUsingArguments14.ts(3,15): error TS1100: Invalid use of 'arguments' in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== emitArrowFunctionWhenUsingArguments14.ts (1 errors) ==== ++ function f() { ++ 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/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).js new file mode 100644 index 00000000000..e48890ab9aa --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).js @@ -0,0 +1,18 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments14.ts] //// + +//// [emitArrowFunctionWhenUsingArguments14.ts] +function f() { + if (Math.random()) { + const arguments = 100; + return () => arguments; + } +} + +//// [emitArrowFunctionWhenUsingArguments14.js] +"use strict"; +function f() { + if (Math.random()) { + const arguments = 100; + return () => arguments; + } +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).js.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).js.diff new file mode 100644 index 00000000000..8e787f0061d --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).js.diff @@ -0,0 +1,10 @@ +--- old.emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).js ++++ new.emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).js +@@= skipped -8, +8 lines =@@ + } + + //// [emitArrowFunctionWhenUsingArguments14.js] ++"use strict"; + function f() { + if (Math.random()) { + const arguments = 100; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).symbols new file mode 100644 index 00000000000..790f5dc7a16 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).symbols @@ -0,0 +1,18 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments14.ts] //// + +=== emitArrowFunctionWhenUsingArguments14.ts === +function f() { +>f : Symbol(f, Decl(emitArrowFunctionWhenUsingArguments14.ts, 0, 0)) + + if (Math.random()) { +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) + + const arguments = 100; +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments14.ts, 2, 13)) + + return () => arguments; +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments14.ts, 2, 13)) + } +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).types b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).types new file mode 100644 index 00000000000..37beaa13a83 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14(alwaysstrict=false,target=es2015).types @@ -0,0 +1,21 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments14.ts] //// + +=== emitArrowFunctionWhenUsingArguments14.ts === +function f() { +>f : () => () => number + + if (Math.random()) { +>Math.random() : number +>Math.random : () => number +>Math : Math +>random : () => number + + const arguments = 100; +>arguments : 100 +>100 : 100 + + return () => arguments; +>() => arguments : () => number +>arguments : 100 + } +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..50d057bf727 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).errors.txt @@ -0,0 +1,14 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +emitArrowFunctionWhenUsingArguments14_ES6.ts(3,13): error TS1100: Invalid use of 'arguments' in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== 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/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..0f80b27f2da --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,18 @@ +--- old.emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).errors.txt ++++ new.emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++emitArrowFunctionWhenUsingArguments14_ES6.ts(3,13): error TS1100: Invalid use of 'arguments' in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== 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/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).js new file mode 100644 index 00000000000..730059243dc --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).js @@ -0,0 +1,18 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments14_ES6.ts] //// + +//// [emitArrowFunctionWhenUsingArguments14_ES6.ts] +function f() { + if (Math.random()) { + let arguments = 100; + return () => arguments; + } +} + +//// [emitArrowFunctionWhenUsingArguments14_ES6.js] +"use strict"; +function f() { + if (Math.random()) { + let arguments = 100; + return () => arguments; + } +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..f829243c6cb --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).js.diff @@ -0,0 +1,10 @@ +--- old.emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).js ++++ new.emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).js +@@= skipped -8, +8 lines =@@ + } + + //// [emitArrowFunctionWhenUsingArguments14_ES6.js] ++"use strict"; + function f() { + if (Math.random()) { + let arguments = 100; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).symbols new file mode 100644 index 00000000000..bd672ba0120 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).symbols @@ -0,0 +1,18 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments14_ES6.ts] //// + +=== emitArrowFunctionWhenUsingArguments14_ES6.ts === +function f() { +>f : Symbol(f, Decl(emitArrowFunctionWhenUsingArguments14_ES6.ts, 0, 0)) + + if (Math.random()) { +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) + + let arguments = 100; +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments14_ES6.ts, 2, 11)) + + return () => arguments; +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments14_ES6.ts, 2, 11)) + } +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).types b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).types new file mode 100644 index 00000000000..a343ec55a24 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments14_ES6(alwaysstrict=false).types @@ -0,0 +1,21 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments14_ES6.ts] //// + +=== emitArrowFunctionWhenUsingArguments14_ES6.ts === +function f() { +>f : () => () => number + + if (Math.random()) { +>Math.random() : number +>Math.random : () => number +>Math : Math +>random : () => number + + let arguments = 100; +>arguments : number +>100 : 100 + + return () => arguments; +>() => arguments : () => number +>arguments : number + } +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).errors.txt b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).errors.txt new file mode 100644 index 00000000000..845275cd0f0 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).errors.txt @@ -0,0 +1,18 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +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. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== emitArrowFunctionWhenUsingArguments15.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/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).errors.txt.diff new file mode 100644 index 00000000000..6f17b165e8a --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).errors.txt.diff @@ -0,0 +1,22 @@ +--- old.emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).errors.txt ++++ new.emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++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. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== emitArrowFunctionWhenUsingArguments15.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/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).js new file mode 100644 index 00000000000..949e59af25d --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).js @@ -0,0 +1,20 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments15.ts] //// + +//// [emitArrowFunctionWhenUsingArguments15.ts] +function f() { + var arguments = "hello"; + if (Math.random()) { + const arguments = 100; + return () => arguments; + } +} + +//// [emitArrowFunctionWhenUsingArguments15.js] +"use strict"; +function f() { + var arguments = "hello"; + if (Math.random()) { + const arguments = 100; + return () => arguments; + } +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).js.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).js.diff new file mode 100644 index 00000000000..da05a4a6b1b --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).js.diff @@ -0,0 +1,10 @@ +--- old.emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).js ++++ new.emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).js +@@= skipped -9, +9 lines =@@ + } + + //// [emitArrowFunctionWhenUsingArguments15.js] ++"use strict"; + function f() { + var arguments = "hello"; + if (Math.random()) { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).symbols new file mode 100644 index 00000000000..e7792c1e733 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).symbols @@ -0,0 +1,21 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments15.ts] //// + +=== emitArrowFunctionWhenUsingArguments15.ts === +function f() { +>f : Symbol(f, Decl(emitArrowFunctionWhenUsingArguments15.ts, 0, 0)) + + var arguments = "hello"; +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments15.ts, 1, 7)) + + if (Math.random()) { +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) + + const arguments = 100; +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments15.ts, 3, 13)) + + return () => arguments; +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments15.ts, 3, 13)) + } +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).types b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).types new file mode 100644 index 00000000000..e98881fc357 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15(alwaysstrict=false,target=es2015).types @@ -0,0 +1,25 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments15.ts] //// + +=== emitArrowFunctionWhenUsingArguments15.ts === +function f() { +>f : () => () => number + + var arguments = "hello"; +>arguments : string +>"hello" : "hello" + + if (Math.random()) { +>Math.random() : number +>Math.random : () => number +>Math : Math +>random : () => number + + const arguments = 100; +>arguments : 100 +>100 : 100 + + return () => arguments; +>() => arguments : () => number +>arguments : 100 + } +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..d2168705ae3 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).errors.txt @@ -0,0 +1,18 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +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. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== 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/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..a7cc706f5c9 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,22 @@ +--- old.emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).errors.txt ++++ new.emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++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. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== 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/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).js new file mode 100644 index 00000000000..8dae6ba71be --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).js @@ -0,0 +1,20 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments15_ES6.ts] //// + +//// [emitArrowFunctionWhenUsingArguments15_ES6.ts] +function f() { + var arguments = "hello"; + if (Math.random()) { + const arguments = 100; + return () => arguments; + } +} + +//// [emitArrowFunctionWhenUsingArguments15_ES6.js] +"use strict"; +function f() { + var arguments = "hello"; + if (Math.random()) { + const arguments = 100; + return () => arguments; + } +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..e91984b8411 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).js.diff @@ -0,0 +1,10 @@ +--- old.emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).js ++++ new.emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).js +@@= skipped -9, +9 lines =@@ + } + + //// [emitArrowFunctionWhenUsingArguments15_ES6.js] ++"use strict"; + function f() { + var arguments = "hello"; + if (Math.random()) { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).symbols new file mode 100644 index 00000000000..34da4979043 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).symbols @@ -0,0 +1,21 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments15_ES6.ts] //// + +=== emitArrowFunctionWhenUsingArguments15_ES6.ts === +function f() { +>f : Symbol(f, Decl(emitArrowFunctionWhenUsingArguments15_ES6.ts, 0, 0)) + + var arguments = "hello"; +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments15_ES6.ts, 1, 7)) + + if (Math.random()) { +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) + + const arguments = 100; +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments15_ES6.ts, 3, 13)) + + return () => arguments; +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments15_ES6.ts, 3, 13)) + } +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).types b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).types new file mode 100644 index 00000000000..3ff60b3445a --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments15_ES6(alwaysstrict=false).types @@ -0,0 +1,25 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments15_ES6.ts] //// + +=== emitArrowFunctionWhenUsingArguments15_ES6.ts === +function f() { +>f : () => () => number + + var arguments = "hello"; +>arguments : string +>"hello" : "hello" + + if (Math.random()) { +>Math.random() : number +>Math.random : () => number +>Math : Math +>random : () => number + + const arguments = 100; +>arguments : 100 +>100 : 100 + + return () => arguments; +>() => arguments : () => number +>arguments : 100 + } +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).errors.txt b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).errors.txt new file mode 100644 index 00000000000..7f2a9df0afd --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).errors.txt @@ -0,0 +1,18 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +emitArrowFunctionWhenUsingArguments16.ts(2,9): error TS1100: Invalid use of 'arguments' in strict mode. +emitArrowFunctionWhenUsingArguments16.ts(6,9): error TS1100: Invalid use of 'arguments' in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== emitArrowFunctionWhenUsingArguments16.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/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).errors.txt.diff new file mode 100644 index 00000000000..9cf7a633093 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).errors.txt.diff @@ -0,0 +1,22 @@ +--- old.emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).errors.txt ++++ new.emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++emitArrowFunctionWhenUsingArguments16.ts(2,9): error TS1100: Invalid use of 'arguments' in strict mode. ++emitArrowFunctionWhenUsingArguments16.ts(6,9): error TS1100: Invalid use of 'arguments' in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== emitArrowFunctionWhenUsingArguments16.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/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).js new file mode 100644 index 00000000000..a62cf5c08be --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).js @@ -0,0 +1,20 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments16.ts] //// + +//// [emitArrowFunctionWhenUsingArguments16.ts] +function f() { + var arguments = "hello"; + if (Math.random()) { + return () => arguments[0]; + } + var arguments = "world"; +} + +//// [emitArrowFunctionWhenUsingArguments16.js] +"use strict"; +function f() { + var arguments = "hello"; + if (Math.random()) { + return () => arguments[0]; + } + var arguments = "world"; +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).js.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).js.diff new file mode 100644 index 00000000000..665e62676da --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).js.diff @@ -0,0 +1,10 @@ +--- old.emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).js ++++ new.emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).js +@@= skipped -9, +9 lines =@@ + } + + //// [emitArrowFunctionWhenUsingArguments16.js] ++"use strict"; + function f() { + var arguments = "hello"; + if (Math.random()) { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).symbols new file mode 100644 index 00000000000..03ff76ba695 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).symbols @@ -0,0 +1,20 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments16.ts] //// + +=== emitArrowFunctionWhenUsingArguments16.ts === +function f() { +>f : Symbol(f, Decl(emitArrowFunctionWhenUsingArguments16.ts, 0, 0)) + + var arguments = "hello"; +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments16.ts, 1, 7), Decl(emitArrowFunctionWhenUsingArguments16.ts, 5, 7)) + + if (Math.random()) { +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) + + return () => arguments[0]; +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments16.ts, 1, 7), Decl(emitArrowFunctionWhenUsingArguments16.ts, 5, 7)) + } + var arguments = "world"; +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments16.ts, 1, 7), Decl(emitArrowFunctionWhenUsingArguments16.ts, 5, 7)) +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).types b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).types new file mode 100644 index 00000000000..4920f86653f --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16(alwaysstrict=false,target=es2015).types @@ -0,0 +1,26 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments16.ts] //// + +=== emitArrowFunctionWhenUsingArguments16.ts === +function f() { +>f : () => () => string + + var arguments = "hello"; +>arguments : string +>"hello" : "hello" + + if (Math.random()) { +>Math.random() : number +>Math.random : () => number +>Math : Math +>random : () => number + + return () => arguments[0]; +>() => arguments[0] : () => string +>arguments[0] : string +>arguments : string +>0 : 0 + } + var arguments = "world"; +>arguments : string +>"world" : "world" +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..8eca673d862 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).errors.txt @@ -0,0 +1,18 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +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. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== 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/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..5a09885c37c --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,22 @@ +--- old.emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).errors.txt ++++ new.emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++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. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== 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/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).js new file mode 100644 index 00000000000..9bd1fb8c890 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).js @@ -0,0 +1,20 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments16_ES6.ts] //// + +//// [emitArrowFunctionWhenUsingArguments16_ES6.ts] +function f() { + var arguments = "hello"; + if (Math.random()) { + return () => arguments[0]; + } + var arguments = "world"; +} + +//// [emitArrowFunctionWhenUsingArguments16_ES6.js] +"use strict"; +function f() { + var arguments = "hello"; + if (Math.random()) { + return () => arguments[0]; + } + var arguments = "world"; +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..dbfd71a4707 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).js.diff @@ -0,0 +1,10 @@ +--- old.emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).js ++++ new.emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).js +@@= skipped -9, +9 lines =@@ + } + + //// [emitArrowFunctionWhenUsingArguments16_ES6.js] ++"use strict"; + function f() { + var arguments = "hello"; + if (Math.random()) { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).symbols new file mode 100644 index 00000000000..6c65b5b89bb --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).symbols @@ -0,0 +1,20 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments16_ES6.ts] //// + +=== emitArrowFunctionWhenUsingArguments16_ES6.ts === +function f() { +>f : Symbol(f, Decl(emitArrowFunctionWhenUsingArguments16_ES6.ts, 0, 0)) + + var arguments = "hello"; +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments16_ES6.ts, 1, 7), Decl(emitArrowFunctionWhenUsingArguments16_ES6.ts, 5, 7)) + + if (Math.random()) { +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) + + return () => arguments[0]; +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments16_ES6.ts, 1, 7), Decl(emitArrowFunctionWhenUsingArguments16_ES6.ts, 5, 7)) + } + var arguments = "world"; +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments16_ES6.ts, 1, 7), Decl(emitArrowFunctionWhenUsingArguments16_ES6.ts, 5, 7)) +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).types b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).types new file mode 100644 index 00000000000..8d40db86106 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments16_ES6(alwaysstrict=false).types @@ -0,0 +1,26 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments16_ES6.ts] //// + +=== emitArrowFunctionWhenUsingArguments16_ES6.ts === +function f() { +>f : () => () => string + + var arguments = "hello"; +>arguments : string +>"hello" : "hello" + + if (Math.random()) { +>Math.random() : number +>Math.random : () => number +>Math : Math +>random : () => number + + return () => arguments[0]; +>() => arguments[0] : () => string +>arguments[0] : string +>arguments : string +>0 : 0 + } + var arguments = "world"; +>arguments : string +>"world" : "world" +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).errors.txt b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).errors.txt new file mode 100644 index 00000000000..0e70c723c4e --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).errors.txt @@ -0,0 +1,18 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +emitArrowFunctionWhenUsingArguments17.ts(2,11): error TS1100: Invalid use of 'arguments' in strict mode. +emitArrowFunctionWhenUsingArguments17.ts(6,9): error TS1100: Invalid use of 'arguments' in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== emitArrowFunctionWhenUsingArguments17.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/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).errors.txt.diff new file mode 100644 index 00000000000..c2f764ef9e3 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).errors.txt.diff @@ -0,0 +1,22 @@ +--- old.emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).errors.txt ++++ new.emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++emitArrowFunctionWhenUsingArguments17.ts(2,11): error TS1100: Invalid use of 'arguments' in strict mode. ++emitArrowFunctionWhenUsingArguments17.ts(6,9): error TS1100: Invalid use of 'arguments' in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== emitArrowFunctionWhenUsingArguments17.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/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).js new file mode 100644 index 00000000000..8503cfb7b3b --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).js @@ -0,0 +1,20 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments17.ts] //// + +//// [emitArrowFunctionWhenUsingArguments17.ts] +function f() { + var { arguments } = { arguments: "hello" }; + if (Math.random()) { + return () => arguments[0]; + } + var arguments = "world"; +} + +//// [emitArrowFunctionWhenUsingArguments17.js] +"use strict"; +function f() { + var { arguments } = { arguments: "hello" }; + if (Math.random()) { + return () => arguments[0]; + } + var arguments = "world"; +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).js.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).js.diff new file mode 100644 index 00000000000..dae99249d42 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).js.diff @@ -0,0 +1,10 @@ +--- old.emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).js ++++ new.emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).js +@@= skipped -9, +9 lines =@@ + } + + //// [emitArrowFunctionWhenUsingArguments17.js] ++"use strict"; + function f() { + var { arguments } = { arguments: "hello" }; + if (Math.random()) { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).symbols new file mode 100644 index 00000000000..afab9d24135 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).symbols @@ -0,0 +1,21 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments17.ts] //// + +=== emitArrowFunctionWhenUsingArguments17.ts === +function f() { +>f : Symbol(f, Decl(emitArrowFunctionWhenUsingArguments17.ts, 0, 0)) + + var { arguments } = { arguments: "hello" }; +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments17.ts, 1, 9), Decl(emitArrowFunctionWhenUsingArguments17.ts, 5, 7)) +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments17.ts, 1, 25)) + + if (Math.random()) { +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) + + return () => arguments[0]; +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments17.ts, 1, 9), Decl(emitArrowFunctionWhenUsingArguments17.ts, 5, 7)) + } + var arguments = "world"; +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments17.ts, 1, 9), Decl(emitArrowFunctionWhenUsingArguments17.ts, 5, 7)) +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).types b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).types new file mode 100644 index 00000000000..40ba3fc4850 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17(alwaysstrict=false,target=es2015).types @@ -0,0 +1,28 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments17.ts] //// + +=== emitArrowFunctionWhenUsingArguments17.ts === +function f() { +>f : () => () => string + + var { arguments } = { arguments: "hello" }; +>arguments : string +>{ arguments: "hello" } : { arguments: string; } +>arguments : string +>"hello" : "hello" + + if (Math.random()) { +>Math.random() : number +>Math.random : () => number +>Math : Math +>random : () => number + + return () => arguments[0]; +>() => arguments[0] : () => string +>arguments[0] : string +>arguments : string +>0 : 0 + } + var arguments = "world"; +>arguments : string +>"world" : "world" +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..457ea8dcd17 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).errors.txt @@ -0,0 +1,18 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +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. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== 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/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..b4f0ed129e4 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,22 @@ +--- old.emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).errors.txt ++++ new.emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++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. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== 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/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).js new file mode 100644 index 00000000000..893bfb2b40e --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).js @@ -0,0 +1,20 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments17_ES6.ts] //// + +//// [emitArrowFunctionWhenUsingArguments17_ES6.ts] +function f() { + var { arguments } = { arguments: "hello" }; + if (Math.random()) { + return () => arguments[0]; + } + var arguments = "world"; +} + +//// [emitArrowFunctionWhenUsingArguments17_ES6.js] +"use strict"; +function f() { + var { arguments } = { arguments: "hello" }; + if (Math.random()) { + return () => arguments[0]; + } + var arguments = "world"; +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..7dd00e16b94 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).js.diff @@ -0,0 +1,10 @@ +--- old.emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).js ++++ new.emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).js +@@= skipped -9, +9 lines =@@ + } + + //// [emitArrowFunctionWhenUsingArguments17_ES6.js] ++"use strict"; + function f() { + var { arguments } = { arguments: "hello" }; + if (Math.random()) { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).symbols new file mode 100644 index 00000000000..1d1ea3732bc --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).symbols @@ -0,0 +1,21 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments17_ES6.ts] //// + +=== emitArrowFunctionWhenUsingArguments17_ES6.ts === +function f() { +>f : Symbol(f, Decl(emitArrowFunctionWhenUsingArguments17_ES6.ts, 0, 0)) + + var { arguments } = { arguments: "hello" }; +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments17_ES6.ts, 1, 9), Decl(emitArrowFunctionWhenUsingArguments17_ES6.ts, 5, 7)) +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments17_ES6.ts, 1, 25)) + + if (Math.random()) { +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) + + return () => arguments[0]; +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments17_ES6.ts, 1, 9), Decl(emitArrowFunctionWhenUsingArguments17_ES6.ts, 5, 7)) + } + var arguments = "world"; +>arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments17_ES6.ts, 1, 9), Decl(emitArrowFunctionWhenUsingArguments17_ES6.ts, 5, 7)) +} diff --git a/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).types b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).types new file mode 100644 index 00000000000..b80573a408c --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitArrowFunctionWhenUsingArguments17_ES6(alwaysstrict=false).types @@ -0,0 +1,28 @@ +//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments17_ES6.ts] //// + +=== emitArrowFunctionWhenUsingArguments17_ES6.ts === +function f() { +>f : () => () => string + + var { arguments } = { arguments: "hello" }; +>arguments : string +>{ arguments: "hello" } : { arguments: string; } +>arguments : string +>"hello" : "hello" + + if (Math.random()) { +>Math.random() : number +>Math.random : () => number +>Math : Math +>random : () => number + + return () => arguments[0]; +>() => arguments[0] : () => string +>arguments[0] : string +>arguments : string +>0 : 0 + } + var arguments = "world"; +>arguments : string +>"world" : "world" +} diff --git a/testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..d7c645b8643 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).errors.txt @@ -0,0 +1,9 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +for-of56.ts(1,10): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== 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/testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..f2c2f7e9167 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,13 @@ +--- old.for-of56(alwaysstrict=false).errors.txt ++++ new.for-of56(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++for-of56.ts(1,10): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== 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/testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).js new file mode 100644 index 00000000000..53cb67e67e2 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).js @@ -0,0 +1,8 @@ +//// [tests/cases/conformance/es6/for-ofStatements/for-of56.ts] //// + +//// [for-of56.ts] +for (var let of []) {} + +//// [for-of56.js] +"use strict"; +for (var let of []) { } diff --git a/testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..4d9c28fdb9e --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).js.diff @@ -0,0 +1,8 @@ +--- old.for-of56(alwaysstrict=false).js ++++ new.for-of56(alwaysstrict=false).js +@@= skipped -3, +3 lines =@@ + for (var let of []) {} + + //// [for-of56.js] ++"use strict"; + for (var let of []) { } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).symbols new file mode 100644 index 00000000000..791222da436 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).symbols @@ -0,0 +1,6 @@ +//// [tests/cases/conformance/es6/for-ofStatements/for-of56.ts] //// + +=== for-of56.ts === +for (var let of []) {} +>let : Symbol(let, Decl(for-of56.ts, 0, 8)) + diff --git a/testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).types b/testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).types new file mode 100644 index 00000000000..d8706d32ca6 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/for-of56(alwaysstrict=false).types @@ -0,0 +1,7 @@ +//// [tests/cases/conformance/es6/for-ofStatements/for-of56.ts] //// + +=== for-of56.ts === +for (var let of []) {} +>let : any +>[] : undefined[] + diff --git a/testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..48917bc358d --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).errors.txt @@ -0,0 +1,16 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +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. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== 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/testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..5aabd1b6626 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,20 @@ +--- old.generatorTypeCheck38(alwaysstrict=false).errors.txt ++++ new.generatorTypeCheck38(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ +- ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++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. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== 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/testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).js new file mode 100644 index 00000000000..8b557f5fd8d --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).js @@ -0,0 +1,16 @@ +//// [tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck38.ts] //// + +//// [generatorTypeCheck38.ts] +var yield; +function* g() { + yield 0; + var v: typeof yield; +} + +//// [generatorTypeCheck38.js] +"use strict"; +var yield; +function* g() { + yield 0; + var v; +} diff --git a/testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..471bcf7d75c --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).js.diff @@ -0,0 +1,10 @@ +--- old.generatorTypeCheck38(alwaysstrict=false).js ++++ new.generatorTypeCheck38(alwaysstrict=false).js +@@= skipped -7, +7 lines =@@ + } + + //// [generatorTypeCheck38.js] ++"use strict"; + var yield; + function* g() { + yield 0; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).symbols new file mode 100644 index 00000000000..1eb86c1eaba --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).symbols @@ -0,0 +1,14 @@ +//// [tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck38.ts] //// + +=== generatorTypeCheck38.ts === +var yield; +>yield : Symbol(yield, Decl(generatorTypeCheck38.ts, 0, 3)) + +function* g() { +>g : Symbol(g, Decl(generatorTypeCheck38.ts, 0, 10)) + + yield 0; + var v: typeof yield; +>v : Symbol(v, Decl(generatorTypeCheck38.ts, 3, 7)) +>yield : Symbol(yield, Decl(generatorTypeCheck38.ts, 0, 3)) +} diff --git a/testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).types b/testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).types new file mode 100644 index 00000000000..8d9a317a166 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/generatorTypeCheck38(alwaysstrict=false).types @@ -0,0 +1,17 @@ +//// [tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck38.ts] //// + +=== generatorTypeCheck38.ts === +var yield; +>yield : any + +function* g() { +>g : () => Generator + + yield 0; +>yield 0 : any +>0 : 0 + + var v: typeof yield; +>v : any +>yield : any +} diff --git a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.classMethods.es2018(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.classMethods.es2018(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..c2ce9232638 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.classMethods.es2018(alwaysstrict=false).errors.txt @@ -0,0 +1,202 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +asyncGeneratorGetAccessorIsError.ts(2,17): error TS1005: '(' expected. +asyncGeneratorPropertyIsError.ts(2,15): error TS1005: '(' expected. +asyncGeneratorSetAccessorIsError.ts(2,17): error TS1005: '(' expected. +awaitInParameterInitializerIsError.ts(2,19): error TS2524: 'await' expressions cannot be used in a parameter initializer. +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 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. +yieldInParameterInitializerIsError.ts(2,19): error TS2523: 'yield' expressions cannot be used in a parameter initializer. +yieldParameterIsError.ts(2,15): error TS1213: Identifier expected. 'yield' is a reserved word in strict mode. Class definitions are automatically in strict mode. +yieldStarMissingValueIsError.ts(3,16): error TS1109: Expression expected. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== methodIsOk.ts (0 errors) ==== + class C1 { + async * f() { + } + } +==== awaitMethodNameIsOk.ts (0 errors) ==== + class C2 { + async * await() { + } + } +==== yieldMethodNameIsOk.ts (0 errors) ==== + class C3 { + async * yield() { + } + } +==== awaitParameterIsError.ts (1 errors) ==== + class C4 { + async * f(await) { + ~~~~~ +!!! error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. + } + } +==== yieldParameterIsError.ts (1 errors) ==== + class C5 { + async * f(yield) { + ~~~~~ +!!! error TS1213: Identifier expected. 'yield' is a reserved word in strict mode. Class definitions are automatically in strict mode. + } + } +==== awaitInParameterInitializerIsError.ts (1 errors) ==== + class C6 { + async * f(a = await 1) { + ~~~~~~~ +!!! error TS2524: 'await' expressions cannot be used in a parameter initializer. + } + } +==== yieldInParameterInitializerIsError.ts (1 errors) ==== + class C7 { + async * f(a = yield) { + ~~~~~ +!!! error TS2523: 'yield' expressions cannot be used in a parameter initializer. + } + } +==== nestedAsyncGeneratorIsOk.ts (0 errors) ==== + class C8 { + async * f() { + async function * g() { + } + } + } +==== nestedFunctionDeclarationNamedYieldIsError.ts (1 errors) ==== + class C9 { + async * f() { + function yield() { + ~~~~~ +!!! error TS1213: Identifier expected. 'yield' is a reserved word in strict mode. Class definitions are automatically in strict mode. + } + } + } +==== nestedFunctionExpressionNamedYieldIsError.ts (1 errors) ==== + class C10 { + async * f() { + const x = function yield() { + ~~~~~ +!!! error TS1213: Identifier expected. 'yield' is a reserved word in strict mode. Class definitions are automatically in strict mode. + }; + } + } +==== nestedFunctionDeclarationNamedAwaitIsError.ts (1 errors) ==== + class C11 { + async * f() { + function await() { + ~~~~~ +!!! error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. + } + } + } +==== nestedFunctionExpressionNamedAwaitIsError.ts (1 errors) ==== + class C12 { + async * f() { + const x = function await() { + ~~~~~ +!!! error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. + }; + } + } +==== yieldIsOk.ts (0 errors) ==== + class C13 { + async * f() { + yield; + } + } +==== yieldWithValueIsOk.ts (0 errors) ==== + class C14 { + async * f() { + yield 1; + } + } +==== yieldStarMissingValueIsError.ts (1 errors) ==== + class C15 { + async * f() { + yield *; + ~ +!!! error TS1109: Expression expected. + } + } +==== yieldStarWithValueIsOk.ts (0 errors) ==== + class C16 { + async * f() { + yield * []; + } + } +==== awaitWithValueIsOk.ts (0 errors) ==== + class C17 { + async * f() { + await 1; + } + } +==== awaitMissingValueIsError.ts (1 errors) ==== + class C18 { + async * f() { + await; + ~ +!!! error TS1109: Expression expected. + } + } +==== awaitAsTypeIsOk.ts (0 errors) ==== + interface await {} + class C19 { + async * f() { + let x: await; + } + } +==== 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; + ~~~~~ +!!! error TS1213: Identifier expected. 'yield' is a reserved word in strict mode. Class definitions are automatically in strict mode. + } + } +==== yieldInClassComputedPropertyIsError.ts (2 errors) ==== + class C21 { + async * [yield]() { + ~~~~~ +!!! error TS1213: Identifier expected. 'yield' is a reserved word in strict mode. Class definitions are automatically in strict mode. + ~~~~~ +!!! error TS2693: 'yield' only refers to a type, but is being used as a value here. + } + } +==== yieldInNestedComputedPropertyIsOk.ts (0 errors) ==== + class C22 { + async * f() { + const x = { [yield]: 1 }; + } + } +==== asyncGeneratorGetAccessorIsError.ts (1 errors) ==== + class C23 { + async * get x() { + ~ +!!! error TS1005: '(' expected. + return 1; + } + } +==== asyncGeneratorSetAccessorIsError.ts (1 errors) ==== + class C24 { + async * set x(value: number) { + ~ +!!! error TS1005: '(' expected. + } + } +==== asyncGeneratorPropertyIsError.ts (1 errors) ==== + class C25 { + async * x = 1; + ~ +!!! error TS1005: '(' expected. + } + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.classMethods.es2018(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.classMethods.es2018(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..29c3bba7df7 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.classMethods.es2018(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,35 @@ +--- old.parser.asyncGenerators.classMethods.es2018(alwaysstrict=false).errors.txt ++++ new.parser.asyncGenerators.classMethods.es2018(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. + asyncGeneratorGetAccessorIsError.ts(2,17): error TS1005: '(' expected. + asyncGeneratorPropertyIsError.ts(2,15): error TS1005: '(' expected. + asyncGeneratorSetAccessorIsError.ts(2,17): error TS1005: '(' expected. +@@= skipped -7, +8 lines =@@ + 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. +@@= skipped -8, +9 lines =@@ + yieldStarMissingValueIsError.ts(3,16): error TS1109: Expression expected. + + ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. + ==== methodIsOk.ts (0 errors) ==== + class C1 { + async * f() { +@@= skipped -133, +134 lines =@@ + 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; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.classMethods.es2018(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.classMethods.es2018(alwaysstrict=false).symbols new file mode 100644 index 00000000000..61fa90d7295 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.classMethods.es2018(alwaysstrict=false).symbols @@ -0,0 +1,266 @@ +//// [tests/cases/conformance/parser/ecmascript2018/asyncGenerators/parser.asyncGenerators.classMethods.es2018.ts] //// + +=== methodIsOk.ts === +class C1 { +>C1 : Symbol(C1, Decl(methodIsOk.ts, 0, 0)) + + async * f() { +>f : Symbol(C1.f, Decl(methodIsOk.ts, 0, 10)) + } +} +=== awaitMethodNameIsOk.ts === +class C2 { +>C2 : Symbol(C2, Decl(awaitMethodNameIsOk.ts, 0, 0)) + + async * await() { +>await : Symbol(C2.await, Decl(awaitMethodNameIsOk.ts, 0, 10)) + } +} +=== yieldMethodNameIsOk.ts === +class C3 { +>C3 : Symbol(C3, Decl(yieldMethodNameIsOk.ts, 0, 0)) + + async * yield() { +>yield : Symbol(C3.yield, Decl(yieldMethodNameIsOk.ts, 0, 10)) + } +} +=== awaitParameterIsError.ts === +class C4 { +>C4 : Symbol(C4, Decl(awaitParameterIsError.ts, 0, 0)) + + async * f(await) { +>f : Symbol(C4.f, Decl(awaitParameterIsError.ts, 0, 10)) +>await : Symbol(await, Decl(awaitParameterIsError.ts, 1, 14)) + } +} +=== yieldParameterIsError.ts === +class C5 { +>C5 : Symbol(C5, Decl(yieldParameterIsError.ts, 0, 0)) + + async * f(yield) { +>f : Symbol(C5.f, Decl(yieldParameterIsError.ts, 0, 10)) +>yield : Symbol(yield, Decl(yieldParameterIsError.ts, 1, 14)) + } +} +=== awaitInParameterInitializerIsError.ts === +class C6 { +>C6 : Symbol(C6, Decl(awaitInParameterInitializerIsError.ts, 0, 0)) + + async * f(a = await 1) { +>f : Symbol(C6.f, Decl(awaitInParameterInitializerIsError.ts, 0, 10)) +>a : Symbol(a, Decl(awaitInParameterInitializerIsError.ts, 1, 14)) + } +} +=== yieldInParameterInitializerIsError.ts === +class C7 { +>C7 : Symbol(C7, Decl(yieldInParameterInitializerIsError.ts, 0, 0)) + + async * f(a = yield) { +>f : Symbol(C7.f, Decl(yieldInParameterInitializerIsError.ts, 0, 10)) +>a : Symbol(a, Decl(yieldInParameterInitializerIsError.ts, 1, 14)) + } +} +=== nestedAsyncGeneratorIsOk.ts === +class C8 { +>C8 : Symbol(C8, Decl(nestedAsyncGeneratorIsOk.ts, 0, 0)) + + async * f() { +>f : Symbol(C8.f, Decl(nestedAsyncGeneratorIsOk.ts, 0, 10)) + + async function * g() { +>g : Symbol(g, Decl(nestedAsyncGeneratorIsOk.ts, 1, 17)) + } + } +} +=== nestedFunctionDeclarationNamedYieldIsError.ts === +class C9 { +>C9 : Symbol(C9, Decl(nestedFunctionDeclarationNamedYieldIsError.ts, 0, 0)) + + async * f() { +>f : Symbol(C9.f, Decl(nestedFunctionDeclarationNamedYieldIsError.ts, 0, 10)) + + function yield() { +>yield : Symbol(yield, Decl(nestedFunctionDeclarationNamedYieldIsError.ts, 1, 17)) + } + } +} +=== nestedFunctionExpressionNamedYieldIsError.ts === +class C10 { +>C10 : Symbol(C10, Decl(nestedFunctionExpressionNamedYieldIsError.ts, 0, 0)) + + async * f() { +>f : Symbol(C10.f, Decl(nestedFunctionExpressionNamedYieldIsError.ts, 0, 11)) + + const x = function yield() { +>x : Symbol(x, Decl(nestedFunctionExpressionNamedYieldIsError.ts, 2, 13)) +>yield : Symbol(yield, Decl(nestedFunctionExpressionNamedYieldIsError.ts, 2, 17)) + + }; + } +} +=== nestedFunctionDeclarationNamedAwaitIsError.ts === +class C11 { +>C11 : Symbol(C11, Decl(nestedFunctionDeclarationNamedAwaitIsError.ts, 0, 0)) + + async * f() { +>f : Symbol(C11.f, Decl(nestedFunctionDeclarationNamedAwaitIsError.ts, 0, 11)) + + function await() { +>await : Symbol(await, Decl(nestedFunctionDeclarationNamedAwaitIsError.ts, 1, 17)) + } + } +} +=== nestedFunctionExpressionNamedAwaitIsError.ts === +class C12 { +>C12 : Symbol(C12, Decl(nestedFunctionExpressionNamedAwaitIsError.ts, 0, 0)) + + async * f() { +>f : Symbol(C12.f, Decl(nestedFunctionExpressionNamedAwaitIsError.ts, 0, 11)) + + const x = function await() { +>x : Symbol(x, Decl(nestedFunctionExpressionNamedAwaitIsError.ts, 2, 13)) +>await : Symbol(await, Decl(nestedFunctionExpressionNamedAwaitIsError.ts, 2, 17)) + + }; + } +} +=== yieldIsOk.ts === +class C13 { +>C13 : Symbol(C13, Decl(yieldIsOk.ts, 0, 0)) + + async * f() { +>f : Symbol(C13.f, Decl(yieldIsOk.ts, 0, 11)) + + yield; + } +} +=== yieldWithValueIsOk.ts === +class C14 { +>C14 : Symbol(C14, Decl(yieldWithValueIsOk.ts, 0, 0)) + + async * f() { +>f : Symbol(C14.f, Decl(yieldWithValueIsOk.ts, 0, 11)) + + yield 1; + } +} +=== yieldStarMissingValueIsError.ts === +class C15 { +>C15 : Symbol(C15, Decl(yieldStarMissingValueIsError.ts, 0, 0)) + + async * f() { +>f : Symbol(C15.f, Decl(yieldStarMissingValueIsError.ts, 0, 11)) + + yield *; + } +} +=== yieldStarWithValueIsOk.ts === +class C16 { +>C16 : Symbol(C16, Decl(yieldStarWithValueIsOk.ts, 0, 0)) + + async * f() { +>f : Symbol(C16.f, Decl(yieldStarWithValueIsOk.ts, 0, 11)) + + yield * []; + } +} +=== awaitWithValueIsOk.ts === +class C17 { +>C17 : Symbol(C17, Decl(awaitWithValueIsOk.ts, 0, 0)) + + async * f() { +>f : Symbol(C17.f, Decl(awaitWithValueIsOk.ts, 0, 11)) + + await 1; + } +} +=== awaitMissingValueIsError.ts === +class C18 { +>C18 : Symbol(C18, Decl(awaitMissingValueIsError.ts, 0, 0)) + + async * f() { +>f : Symbol(C18.f, Decl(awaitMissingValueIsError.ts, 0, 11)) + + await; + } +} +=== awaitAsTypeIsOk.ts === +interface await {} +>await : Symbol(await, Decl(awaitAsTypeIsOk.ts, 0, 0)) + +class C19 { +>C19 : Symbol(C19, Decl(awaitAsTypeIsOk.ts, 0, 18)) + + async * f() { +>f : Symbol(C19.f, Decl(awaitAsTypeIsOk.ts, 1, 11)) + + let x: await; +>x : Symbol(x, Decl(awaitAsTypeIsOk.ts, 3, 11)) +>await : Symbol(await, Decl(awaitAsTypeIsOk.ts, 0, 0)) + } +} +=== yieldAsTypeIsStrictError.ts === +interface yield {} +>yield : Symbol(yield, Decl(yieldAsTypeIsStrictError.ts, 0, 0)) + +class C20 { +>C20 : Symbol(C20, Decl(yieldAsTypeIsStrictError.ts, 0, 18)) + + async * f() { +>f : Symbol(C20.f, Decl(yieldAsTypeIsStrictError.ts, 1, 11)) + + let x: yield; +>x : Symbol(x, Decl(yieldAsTypeIsStrictError.ts, 3, 11)) +>yield : Symbol(yield, Decl(yieldAsTypeIsStrictError.ts, 0, 0)) + } +} +=== yieldInClassComputedPropertyIsError.ts === +class C21 { +>C21 : Symbol(C21, Decl(yieldInClassComputedPropertyIsError.ts, 0, 0)) + + async * [yield]() { +>[yield] : Symbol(C21[yield], Decl(yieldInClassComputedPropertyIsError.ts, 0, 11)) + } +} +=== yieldInNestedComputedPropertyIsOk.ts === +class C22 { +>C22 : Symbol(C22, Decl(yieldInNestedComputedPropertyIsOk.ts, 0, 0)) + + async * f() { +>f : Symbol(C22.f, Decl(yieldInNestedComputedPropertyIsOk.ts, 0, 11)) + + const x = { [yield]: 1 }; +>x : Symbol(x, Decl(yieldInNestedComputedPropertyIsOk.ts, 2, 13)) +>[yield] : Symbol([yield], Decl(yieldInNestedComputedPropertyIsOk.ts, 2, 19)) + } +} +=== asyncGeneratorGetAccessorIsError.ts === +class C23 { +>C23 : Symbol(C23, Decl(asyncGeneratorGetAccessorIsError.ts, 0, 0)) + + async * get x() { +>get : Symbol(C23.get, Decl(asyncGeneratorGetAccessorIsError.ts, 0, 11)) +>x : Symbol(C23.x, Decl(asyncGeneratorGetAccessorIsError.ts, 1, 15)) + + return 1; + } +} +=== asyncGeneratorSetAccessorIsError.ts === +class C24 { +>C24 : Symbol(C24, Decl(asyncGeneratorSetAccessorIsError.ts, 0, 0)) + + async * set x(value: number) { +>set : Symbol(C24.set, Decl(asyncGeneratorSetAccessorIsError.ts, 0, 11)) +>x : Symbol(C24.x, Decl(asyncGeneratorSetAccessorIsError.ts, 1, 15)) +>value : Symbol(value, Decl(asyncGeneratorSetAccessorIsError.ts, 1, 18)) + } +} +=== asyncGeneratorPropertyIsError.ts === +class C25 { +>C25 : Symbol(C25, Decl(asyncGeneratorPropertyIsError.ts, 0, 0)) + + async * x = 1; +>x : Symbol(C25.x, Decl(asyncGeneratorPropertyIsError.ts, 0, 11)) +>1 : Symbol(C25[1], Decl(asyncGeneratorPropertyIsError.ts, 1, 15)) +} + diff --git a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.classMethods.es2018(alwaysstrict=false).types b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.classMethods.es2018(alwaysstrict=false).types new file mode 100644 index 00000000000..c7f3a8c6c2d --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.classMethods.es2018(alwaysstrict=false).types @@ -0,0 +1,281 @@ +//// [tests/cases/conformance/parser/ecmascript2018/asyncGenerators/parser.asyncGenerators.classMethods.es2018.ts] //// + +=== methodIsOk.ts === +class C1 { +>C1 : C1 + + async * f() { +>f : () => AsyncGenerator + } +} +=== awaitMethodNameIsOk.ts === +class C2 { +>C2 : C2 + + async * await() { +>await : () => AsyncGenerator + } +} +=== yieldMethodNameIsOk.ts === +class C3 { +>C3 : C3 + + async * yield() { +>yield : () => AsyncGenerator + } +} +=== awaitParameterIsError.ts === +class C4 { +>C4 : C4 + + async * f(await) { +>f : (await: any) => AsyncGenerator +>await : any + } +} +=== yieldParameterIsError.ts === +class C5 { +>C5 : C5 + + async * f(yield) { +>f : (yield: any) => AsyncGenerator +>yield : any + } +} +=== awaitInParameterInitializerIsError.ts === +class C6 { +>C6 : C6 + + async * f(a = await 1) { +>f : (a?: number) => AsyncGenerator +>a : number +>await 1 : 1 +>1 : 1 + } +} +=== yieldInParameterInitializerIsError.ts === +class C7 { +>C7 : C7 + + async * f(a = yield) { +>f : (a?: any) => AsyncGenerator +>a : any +>yield : any + } +} +=== nestedAsyncGeneratorIsOk.ts === +class C8 { +>C8 : C8 + + async * f() { +>f : () => AsyncGenerator + + async function * g() { +>g : () => AsyncGenerator + } + } +} +=== nestedFunctionDeclarationNamedYieldIsError.ts === +class C9 { +>C9 : C9 + + async * f() { +>f : () => AsyncGenerator + + function yield() { +>yield : () => void + } + } +} +=== nestedFunctionExpressionNamedYieldIsError.ts === +class C10 { +>C10 : C10 + + async * f() { +>f : () => AsyncGenerator + + const x = function yield() { +>x : () => void +>function yield() { } : () => void +>yield : () => void + + }; + } +} +=== nestedFunctionDeclarationNamedAwaitIsError.ts === +class C11 { +>C11 : C11 + + async * f() { +>f : () => AsyncGenerator + + function await() { +>await : () => void + } + } +} +=== nestedFunctionExpressionNamedAwaitIsError.ts === +class C12 { +>C12 : C12 + + async * f() { +>f : () => AsyncGenerator + + const x = function await() { +>x : () => void +>function await() { } : () => void +>await : () => void + + }; + } +} +=== yieldIsOk.ts === +class C13 { +>C13 : C13 + + async * f() { +>f : () => AsyncGenerator + + yield; +>yield : any + } +} +=== yieldWithValueIsOk.ts === +class C14 { +>C14 : C14 + + async * f() { +>f : () => AsyncGenerator + + yield 1; +>yield 1 : any +>1 : 1 + } +} +=== yieldStarMissingValueIsError.ts === +class C15 { +>C15 : C15 + + async * f() { +>f : () => AsyncGenerator + + yield *; +>yield * : any +> : any + } +} +=== yieldStarWithValueIsOk.ts === +class C16 { +>C16 : C16 + + async * f() { +>f : () => AsyncGenerator + + yield * []; +>yield * [] : any +>[] : undefined[] + } +} +=== awaitWithValueIsOk.ts === +class C17 { +>C17 : C17 + + async * f() { +>f : () => AsyncGenerator + + await 1; +>await 1 : 1 +>1 : 1 + } +} +=== awaitMissingValueIsError.ts === +class C18 { +>C18 : C18 + + async * f() { +>f : () => AsyncGenerator + + await; +>await : any +> : any + } +} +=== awaitAsTypeIsOk.ts === +interface await {} +class C19 { +>C19 : C19 + + async * f() { +>f : () => AsyncGenerator + + let x: await; +>x : await + } +} +=== yieldAsTypeIsStrictError.ts === +interface yield {} +class C20 { +>C20 : C20 + + async * f() { +>f : () => AsyncGenerator + + let x: yield; +>x : yield + } +} +=== yieldInClassComputedPropertyIsError.ts === +class C21 { +>C21 : C21 + + async * [yield]() { +>[yield] : () => AsyncGenerator +>yield : any + } +} +=== yieldInNestedComputedPropertyIsOk.ts === +class C22 { +>C22 : C22 + + async * f() { +>f : () => AsyncGenerator + + const x = { [yield]: 1 }; +>x : { [x: number]: number; } +>{ [yield]: 1 } : { [x: number]: number; } +>[yield] : number +>yield : any +>1 : 1 + } +} +=== asyncGeneratorGetAccessorIsError.ts === +class C23 { +>C23 : C23 + + async * get x() { +>get : () => any +>x : () => number + + return 1; +>1 : 1 + } +} +=== asyncGeneratorSetAccessorIsError.ts === +class C24 { +>C24 : C24 + + async * set x(value: number) { +>set : () => any +>x : (value: number) => void +>value : number + } +} +=== asyncGeneratorPropertyIsError.ts === +class C25 { +>C25 : C25 + + async * x = 1; +>x : () => any +>1 : any +} + diff --git a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionDeclarations.es2018(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionDeclarations.es2018(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..e3f42200f64 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionDeclarations.es2018(alwaysstrict=false).errors.txt @@ -0,0 +1,128 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +awaitInParameterInitializerIsError.ts(1,25): error TS2524: 'await' expressions cannot be used in a parameter initializer. +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 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. +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. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== functionDeclarationIsOk.ts (0 errors) ==== + async function * f1() { + } +==== awaitNameIsOk.ts (0 errors) ==== + async function * await() { + } +==== 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) { + ~~~~~ +!!! error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. + } +==== yieldParameterIsError.ts (1 errors) ==== + async function * f5(yield) { + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + } +==== awaitInParameterInitializerIsError.ts (1 errors) ==== + async function * f6(a = await 1) { + ~~~~~~~ +!!! error TS2524: 'await' expressions cannot be used in a parameter initializer. + } +==== yieldInParameterInitializerIsError.ts (1 errors) ==== + async function * f7(a = yield) { + ~~~~~ +!!! error TS2523: 'yield' expressions cannot be used in a parameter initializer. + } +==== nestedAsyncGeneratorIsOk.ts (0 errors) ==== + async function * f8() { + async function * g() { + } + } +==== nestedFunctionDeclarationNamedYieldIsError.ts (1 errors) ==== + async function * f9() { + function yield() { + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + } + } +==== nestedFunctionExpressionNamedYieldIsError.ts (1 errors) ==== + async function * f10() { + const x = function yield() { + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + }; + } +==== nestedFunctionDeclarationNamedAwaitIsError.ts (1 errors) ==== + async function * f11() { + function await() { + ~~~~~ +!!! error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. + } + } +==== nestedFunctionExpressionNamedAwaitIsError.ts (1 errors) ==== + async function * f12() { + const x = function yield() { + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + }; + } +==== yieldIsOk.ts (0 errors) ==== + async function * f13() { + yield; + } +==== yieldWithValueIsOk.ts (0 errors) ==== + async function * f14() { + yield 1; + } +==== yieldStarMissingValueIsError.ts (1 errors) ==== + async function * f15() { + yield *; + ~ +!!! error TS1109: Expression expected. + } +==== yieldStarWithValueIsOk.ts (0 errors) ==== + async function * f16() { + yield * []; + } +==== awaitWithValueIsOk.ts (0 errors) ==== + async function * f17() { + await 1; + } +==== awaitMissingValueIsError.ts (1 errors) ==== + async function * f18() { + await; + ~ +!!! error TS1109: Expression expected. + } +==== awaitAsTypeIsOk.ts (0 errors) ==== + interface await {} + async function * f19() { + let x: await; + } +==== 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() { + const x = { [yield]: 1 }; + } + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionDeclarations.es2018(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionDeclarations.es2018(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..83596c9489b --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionDeclarations.es2018(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,89 @@ +--- old.parser.asyncGenerators.functionDeclarations.es2018(alwaysstrict=false).errors.txt ++++ new.parser.asyncGenerators.functionDeclarations.es2018(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. + awaitInParameterInitializerIsError.ts(1,25): error TS2524: 'await' expressions cannot be used in a parameter initializer. + 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. + + ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. + ==== functionDeclarationIsOk.ts (0 errors) ==== + async function * f1() { + } + ==== 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) { +@@= skipped -26, +33 lines =@@ + ==== 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) { +@@= skipped -21, +21 lines =@@ + 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) ==== +@@= skipped -21, +21 lines =@@ + 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) ==== +@@= skipped -36, +36 lines =@@ + 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() { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionDeclarations.es2018(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionDeclarations.es2018(alwaysstrict=false).symbols new file mode 100644 index 00000000000..a09eca52712 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionDeclarations.es2018(alwaysstrict=false).symbols @@ -0,0 +1,145 @@ +//// [tests/cases/conformance/parser/ecmascript2018/asyncGenerators/parser.asyncGenerators.functionDeclarations.es2018.ts] //// + +=== functionDeclarationIsOk.ts === +async function * f1() { +>f1 : Symbol(f1, Decl(functionDeclarationIsOk.ts, 0, 0)) +} +=== awaitNameIsOk.ts === +async function * await() { +>await : Symbol(await, Decl(awaitNameIsOk.ts, 0, 0), Decl(awaitAsTypeIsOk.ts, 0, 0)) +} +=== yieldNameIsOk.ts === +async function * yield() { +>yield : Symbol(yield, Decl(yieldNameIsOk.ts, 0, 0), Decl(yieldAsTypeIsOk.ts, 0, 0)) +} +=== awaitParameterIsError.ts === +async function * f4(await) { +>f4 : Symbol(f4, Decl(awaitParameterIsError.ts, 0, 0)) +>await : Symbol(await, Decl(awaitParameterIsError.ts, 0, 20)) +} +=== yieldParameterIsError.ts === +async function * f5(yield) { +>f5 : Symbol(f5, Decl(yieldParameterIsError.ts, 0, 0)) +>yield : Symbol(yield, Decl(yieldParameterIsError.ts, 0, 20)) +} +=== awaitInParameterInitializerIsError.ts === +async function * f6(a = await 1) { +>f6 : Symbol(f6, Decl(awaitInParameterInitializerIsError.ts, 0, 0)) +>a : Symbol(a, Decl(awaitInParameterInitializerIsError.ts, 0, 20)) +} +=== yieldInParameterInitializerIsError.ts === +async function * f7(a = yield) { +>f7 : Symbol(f7, Decl(yieldInParameterInitializerIsError.ts, 0, 0)) +>a : Symbol(a, Decl(yieldInParameterInitializerIsError.ts, 0, 20)) +} +=== nestedAsyncGeneratorIsOk.ts === +async function * f8() { +>f8 : Symbol(f8, Decl(nestedAsyncGeneratorIsOk.ts, 0, 0)) + + async function * g() { +>g : Symbol(g, Decl(nestedAsyncGeneratorIsOk.ts, 0, 23)) + } +} +=== nestedFunctionDeclarationNamedYieldIsError.ts === +async function * f9() { +>f9 : Symbol(f9, Decl(nestedFunctionDeclarationNamedYieldIsError.ts, 0, 0)) + + function yield() { +>yield : Symbol(yield, Decl(nestedFunctionDeclarationNamedYieldIsError.ts, 0, 23)) + } +} +=== nestedFunctionExpressionNamedYieldIsError.ts === +async function * f10() { +>f10 : Symbol(f10, Decl(nestedFunctionExpressionNamedYieldIsError.ts, 0, 0)) + + const x = function yield() { +>x : Symbol(x, Decl(nestedFunctionExpressionNamedYieldIsError.ts, 1, 9)) +>yield : Symbol(yield, Decl(nestedFunctionExpressionNamedYieldIsError.ts, 1, 13)) + + }; +} +=== nestedFunctionDeclarationNamedAwaitIsError.ts === +async function * f11() { +>f11 : Symbol(f11, Decl(nestedFunctionDeclarationNamedAwaitIsError.ts, 0, 0)) + + function await() { +>await : Symbol(await, Decl(nestedFunctionDeclarationNamedAwaitIsError.ts, 0, 24)) + } +} +=== nestedFunctionExpressionNamedAwaitIsError.ts === +async function * f12() { +>f12 : Symbol(f12, Decl(nestedFunctionExpressionNamedAwaitIsError.ts, 0, 0)) + + const x = function yield() { +>x : Symbol(x, Decl(nestedFunctionExpressionNamedAwaitIsError.ts, 1, 9)) +>yield : Symbol(yield, Decl(nestedFunctionExpressionNamedAwaitIsError.ts, 1, 13)) + + }; +} +=== yieldIsOk.ts === +async function * f13() { +>f13 : Symbol(f13, Decl(yieldIsOk.ts, 0, 0)) + + yield; +} +=== yieldWithValueIsOk.ts === +async function * f14() { +>f14 : Symbol(f14, Decl(yieldWithValueIsOk.ts, 0, 0)) + + yield 1; +} +=== yieldStarMissingValueIsError.ts === +async function * f15() { +>f15 : Symbol(f15, Decl(yieldStarMissingValueIsError.ts, 0, 0)) + + yield *; +} +=== yieldStarWithValueIsOk.ts === +async function * f16() { +>f16 : Symbol(f16, Decl(yieldStarWithValueIsOk.ts, 0, 0)) + + yield * []; +} +=== awaitWithValueIsOk.ts === +async function * f17() { +>f17 : Symbol(f17, Decl(awaitWithValueIsOk.ts, 0, 0)) + + await 1; +} +=== awaitMissingValueIsError.ts === +async function * f18() { +>f18 : Symbol(f18, Decl(awaitMissingValueIsError.ts, 0, 0)) + + await; +} +=== awaitAsTypeIsOk.ts === +interface await {} +>await : Symbol(await, Decl(awaitNameIsOk.ts, 0, 0), Decl(awaitAsTypeIsOk.ts, 0, 0)) + +async function * f19() { +>f19 : Symbol(f19, Decl(awaitAsTypeIsOk.ts, 0, 18)) + + let x: await; +>x : Symbol(x, Decl(awaitAsTypeIsOk.ts, 2, 7)) +>await : Symbol(await, Decl(awaitNameIsOk.ts, 0, 0), Decl(awaitAsTypeIsOk.ts, 0, 0)) +} +=== yieldAsTypeIsOk.ts === +interface yield {} +>yield : Symbol(yield, Decl(yieldNameIsOk.ts, 0, 0), Decl(yieldAsTypeIsOk.ts, 0, 0)) + +async function * f20() { +>f20 : Symbol(f20, Decl(yieldAsTypeIsOk.ts, 0, 18)) + + let x: yield; +>x : Symbol(x, Decl(yieldAsTypeIsOk.ts, 2, 7)) +>yield : Symbol(yield, Decl(yieldNameIsOk.ts, 0, 0), Decl(yieldAsTypeIsOk.ts, 0, 0)) +} +=== yieldInNestedComputedPropertyIsOk.ts === +async function * f21() { +>f21 : Symbol(f21, Decl(yieldInNestedComputedPropertyIsOk.ts, 0, 0)) + + const x = { [yield]: 1 }; +>x : Symbol(x, Decl(yieldInNestedComputedPropertyIsOk.ts, 1, 9)) +>[yield] : Symbol([yield], Decl(yieldInNestedComputedPropertyIsOk.ts, 1, 15)) +} + diff --git a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionDeclarations.es2018(alwaysstrict=false).types b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionDeclarations.es2018(alwaysstrict=false).types new file mode 100644 index 00000000000..b4ff288a01b --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionDeclarations.es2018(alwaysstrict=false).types @@ -0,0 +1,158 @@ +//// [tests/cases/conformance/parser/ecmascript2018/asyncGenerators/parser.asyncGenerators.functionDeclarations.es2018.ts] //// + +=== functionDeclarationIsOk.ts === +async function * f1() { +>f1 : () => AsyncGenerator +} +=== awaitNameIsOk.ts === +async function * await() { +>await : () => AsyncGenerator +} +=== yieldNameIsOk.ts === +async function * yield() { +>yield : () => AsyncGenerator +} +=== awaitParameterIsError.ts === +async function * f4(await) { +>f4 : (await: any) => AsyncGenerator +>await : any +} +=== yieldParameterIsError.ts === +async function * f5(yield) { +>f5 : (yield: any) => AsyncGenerator +>yield : any +} +=== awaitInParameterInitializerIsError.ts === +async function * f6(a = await 1) { +>f6 : (a?: number) => AsyncGenerator +>a : number +>await 1 : 1 +>1 : 1 +} +=== yieldInParameterInitializerIsError.ts === +async function * f7(a = yield) { +>f7 : (a?: any) => AsyncGenerator +>a : any +>yield : any +} +=== nestedAsyncGeneratorIsOk.ts === +async function * f8() { +>f8 : () => AsyncGenerator + + async function * g() { +>g : () => AsyncGenerator + } +} +=== nestedFunctionDeclarationNamedYieldIsError.ts === +async function * f9() { +>f9 : () => AsyncGenerator + + function yield() { +>yield : () => void + } +} +=== nestedFunctionExpressionNamedYieldIsError.ts === +async function * f10() { +>f10 : () => AsyncGenerator + + const x = function yield() { +>x : () => void +>function yield() { } : () => void +>yield : () => void + + }; +} +=== nestedFunctionDeclarationNamedAwaitIsError.ts === +async function * f11() { +>f11 : () => AsyncGenerator + + function await() { +>await : () => void + } +} +=== nestedFunctionExpressionNamedAwaitIsError.ts === +async function * f12() { +>f12 : () => AsyncGenerator + + const x = function yield() { +>x : () => void +>function yield() { } : () => void +>yield : () => void + + }; +} +=== yieldIsOk.ts === +async function * f13() { +>f13 : () => AsyncGenerator + + yield; +>yield : any +} +=== yieldWithValueIsOk.ts === +async function * f14() { +>f14 : () => AsyncGenerator + + yield 1; +>yield 1 : any +>1 : 1 +} +=== yieldStarMissingValueIsError.ts === +async function * f15() { +>f15 : () => AsyncGenerator + + yield *; +>yield * : any +> : any +} +=== yieldStarWithValueIsOk.ts === +async function * f16() { +>f16 : () => AsyncGenerator + + yield * []; +>yield * [] : any +>[] : undefined[] +} +=== awaitWithValueIsOk.ts === +async function * f17() { +>f17 : () => AsyncGenerator + + await 1; +>await 1 : 1 +>1 : 1 +} +=== awaitMissingValueIsError.ts === +async function * f18() { +>f18 : () => AsyncGenerator + + await; +>await : any +> : any +} +=== awaitAsTypeIsOk.ts === +interface await {} +async function * f19() { +>f19 : () => AsyncGenerator + + let x: await; +>x : await +} +=== yieldAsTypeIsOk.ts === +interface yield {} +async function * f20() { +>f20 : () => AsyncGenerator + + let x: yield; +>x : yield +} +=== yieldInNestedComputedPropertyIsOk.ts === +async function * f21() { +>f21 : () => AsyncGenerator + + const x = { [yield]: 1 }; +>x : { [x: number]: number; } +>{ [yield]: 1 } : { [x: number]: number; } +>[yield] : number +>yield : any +>1 : 1 +} + diff --git a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionExpressions.es2018(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionExpressions.es2018(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..afe4b4ff5e6 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionExpressions.es2018(alwaysstrict=false).errors.txt @@ -0,0 +1,131 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +awaitInParameterInitializerIsError.ts(1,34): error TS2524: 'await' expressions cannot be used in a parameter initializer. +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 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 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 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. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== functionExpressionIsOk.ts (0 errors) ==== + const f1 = async function * f() { + }; +==== awaitNameIsError.ts (1 errors) ==== + const f2 = async function * await() { + ~~~~~ +!!! error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. + }; +==== yieldNameIsError.ts (1 errors) ==== + const f3 = async function * yield() { + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + }; +==== awaitParameterIsError.ts (1 errors) ==== + const f4 = async function * (await) { + ~~~~~ +!!! error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. + }; +==== yieldParameterIsError.ts (1 errors) ==== + const f5 = async function * (yield) { + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + }; +==== awaitInParameterInitializerIsError.ts (1 errors) ==== + const f6 = async function * (a = await 1) { + ~~~~~~~ +!!! error TS2524: 'await' expressions cannot be used in a parameter initializer. + }; +==== yieldInParameterInitializerIsError.ts (1 errors) ==== + const f7 = async function * (a = yield) { + ~~~~~ +!!! error TS2523: 'yield' expressions cannot be used in a parameter initializer. + }; +==== nestedAsyncGeneratorIsOk.ts (0 errors) ==== + const f8 = async function * () { + async function * g() { + } + }; +==== nestedFunctionDeclarationNamedYieldIsError.ts (1 errors) ==== + const f9 = async function * () { + function yield() { + ~~~~~ +!!! 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 TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + }; + }; +==== nestedFunctionDeclarationNamedAwaitIsError.ts (1 errors) ==== + const f11 = async function * () { + function await() { + ~~~~~ +!!! error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. + } + }; +==== nestedFunctionExpressionNamedAwaitIsError.ts (1 errors) ==== + const f12 = async function * () { + const x = function await() { + ~~~~~ +!!! error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. + }; + }; +==== yieldIsOk.ts (0 errors) ==== + const f13 = async function * () { + yield; + }; +==== yieldWithValueIsOk.ts (0 errors) ==== + const f14 = async function * () { + yield 1; + }; +==== yieldStarMissingValueIsError.ts (1 errors) ==== + const f15 = async function * () { + yield *; + ~ +!!! error TS1109: Expression expected. + }; +==== yieldStarWithValueIsOk.ts (0 errors) ==== + const f16 = async function * () { + yield * []; + }; +==== awaitWithValueIsOk.ts (0 errors) ==== + const f17 = async function * () { + await 1; + }; +==== awaitMissingValueIsError.ts (1 errors) ==== + const f18 = async function * () { + await; + ~ +!!! error TS1109: Expression expected. + }; +==== awaitAsTypeIsOk.ts (0 errors) ==== + interface await {} + const f19 = async function * () { + let x: await; + }; +==== 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 *() { + const x = { [yield]: 1 }; + }; + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionExpressions.es2018(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionExpressions.es2018(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..3f762170f8b --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionExpressions.es2018(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,79 @@ +--- old.parser.asyncGenerators.functionExpressions.es2018(alwaysstrict=false).errors.txt ++++ new.parser.asyncGenerators.functionExpressions.es2018(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. + awaitInParameterInitializerIsError.ts(1,34): error TS2524: 'await' expressions cannot be used in a parameter initializer. + 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. + + ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. + ==== functionExpressionIsOk.ts (0 errors) ==== + const f1 = async function * f() { + }; +@@= skipped -22, +26 lines =@@ + ==== 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) { +@@= skipped -10, +10 lines =@@ + ==== 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) { +@@= skipped -21, +21 lines =@@ + 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) ==== +@@= skipped -57, +57 lines =@@ + 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 *() { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionExpressions.es2018(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionExpressions.es2018(alwaysstrict=false).symbols new file mode 100644 index 00000000000..358adceb0fe --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionExpressions.es2018(alwaysstrict=false).symbols @@ -0,0 +1,158 @@ +//// [tests/cases/conformance/parser/ecmascript2018/asyncGenerators/parser.asyncGenerators.functionExpressions.es2018.ts] //// + +=== functionExpressionIsOk.ts === +const f1 = async function * f() { +>f1 : Symbol(f1, Decl(functionExpressionIsOk.ts, 0, 5)) +>f : Symbol(f, Decl(functionExpressionIsOk.ts, 0, 10)) + +}; +=== awaitNameIsError.ts === +const f2 = async function * await() { +>f2 : Symbol(f2, Decl(awaitNameIsError.ts, 0, 5)) +>await : Symbol(await, Decl(awaitNameIsError.ts, 0, 10)) + +}; +=== yieldNameIsError.ts === +const f3 = async function * yield() { +>f3 : Symbol(f3, Decl(yieldNameIsError.ts, 0, 5)) +>yield : Symbol(yield, Decl(yieldNameIsError.ts, 0, 10)) + +}; +=== awaitParameterIsError.ts === +const f4 = async function * (await) { +>f4 : Symbol(f4, Decl(awaitParameterIsError.ts, 0, 5)) +>await : Symbol(await, Decl(awaitParameterIsError.ts, 0, 29)) + +}; +=== yieldParameterIsError.ts === +const f5 = async function * (yield) { +>f5 : Symbol(f5, Decl(yieldParameterIsError.ts, 0, 5)) +>yield : Symbol(yield, Decl(yieldParameterIsError.ts, 0, 29)) + +}; +=== awaitInParameterInitializerIsError.ts === +const f6 = async function * (a = await 1) { +>f6 : Symbol(f6, Decl(awaitInParameterInitializerIsError.ts, 0, 5)) +>a : Symbol(a, Decl(awaitInParameterInitializerIsError.ts, 0, 29)) + +}; +=== yieldInParameterInitializerIsError.ts === +const f7 = async function * (a = yield) { +>f7 : Symbol(f7, Decl(yieldInParameterInitializerIsError.ts, 0, 5)) +>a : Symbol(a, Decl(yieldInParameterInitializerIsError.ts, 0, 29)) + +}; +=== nestedAsyncGeneratorIsOk.ts === +const f8 = async function * () { +>f8 : Symbol(f8, Decl(nestedAsyncGeneratorIsOk.ts, 0, 5)) + + async function * g() { +>g : Symbol(g, Decl(nestedAsyncGeneratorIsOk.ts, 0, 32)) + } +}; +=== nestedFunctionDeclarationNamedYieldIsError.ts === +const f9 = async function * () { +>f9 : Symbol(f9, Decl(nestedFunctionDeclarationNamedYieldIsError.ts, 0, 5)) + + function yield() { +>yield : Symbol(yield, Decl(nestedFunctionDeclarationNamedYieldIsError.ts, 0, 32)) + } +}; +=== nestedFunctionExpressionNamedYieldIsError.ts === +const f10 = async function * () { +>f10 : Symbol(f10, Decl(nestedFunctionExpressionNamedYieldIsError.ts, 0, 5)) + + const x = function yield() { +>x : Symbol(x, Decl(nestedFunctionExpressionNamedYieldIsError.ts, 1, 9)) +>yield : Symbol(yield, Decl(nestedFunctionExpressionNamedYieldIsError.ts, 1, 13)) + + }; +}; +=== nestedFunctionDeclarationNamedAwaitIsError.ts === +const f11 = async function * () { +>f11 : Symbol(f11, Decl(nestedFunctionDeclarationNamedAwaitIsError.ts, 0, 5)) + + function await() { +>await : Symbol(await, Decl(nestedFunctionDeclarationNamedAwaitIsError.ts, 0, 33)) + } +}; +=== nestedFunctionExpressionNamedAwaitIsError.ts === +const f12 = async function * () { +>f12 : Symbol(f12, Decl(nestedFunctionExpressionNamedAwaitIsError.ts, 0, 5)) + + const x = function await() { +>x : Symbol(x, Decl(nestedFunctionExpressionNamedAwaitIsError.ts, 1, 9)) +>await : Symbol(await, Decl(nestedFunctionExpressionNamedAwaitIsError.ts, 1, 13)) + + }; +}; +=== yieldIsOk.ts === +const f13 = async function * () { +>f13 : Symbol(f13, Decl(yieldIsOk.ts, 0, 5)) + + yield; +}; +=== yieldWithValueIsOk.ts === +const f14 = async function * () { +>f14 : Symbol(f14, Decl(yieldWithValueIsOk.ts, 0, 5)) + + yield 1; +}; +=== yieldStarMissingValueIsError.ts === +const f15 = async function * () { +>f15 : Symbol(f15, Decl(yieldStarMissingValueIsError.ts, 0, 5)) + + yield *; +}; +=== yieldStarWithValueIsOk.ts === +const f16 = async function * () { +>f16 : Symbol(f16, Decl(yieldStarWithValueIsOk.ts, 0, 5)) + + yield * []; +}; +=== awaitWithValueIsOk.ts === +const f17 = async function * () { +>f17 : Symbol(f17, Decl(awaitWithValueIsOk.ts, 0, 5)) + + await 1; +}; +=== awaitMissingValueIsError.ts === +const f18 = async function * () { +>f18 : Symbol(f18, Decl(awaitMissingValueIsError.ts, 0, 5)) + + await; +}; +=== awaitAsTypeIsOk.ts === +interface await {} +>await : Symbol(await, Decl(awaitAsTypeIsOk.ts, 0, 0)) + +const f19 = async function * () { +>f19 : Symbol(f19, Decl(awaitAsTypeIsOk.ts, 1, 5)) + + let x: await; +>x : Symbol(x, Decl(awaitAsTypeIsOk.ts, 2, 7)) +>await : Symbol(await, Decl(awaitAsTypeIsOk.ts, 0, 0)) + +}; +=== yieldAsTypeIsOk.ts === +interface yield {} +>yield : Symbol(yield, Decl(yieldAsTypeIsOk.ts, 0, 0)) + +const f20 = async function * () { +>f20 : Symbol(f20, Decl(yieldAsTypeIsOk.ts, 1, 5)) + + let x: yield; +>x : Symbol(x, Decl(yieldAsTypeIsOk.ts, 2, 7)) +>yield : Symbol(yield, Decl(yieldAsTypeIsOk.ts, 0, 0)) + +}; +=== yieldInNestedComputedPropertyIsOk.ts === +const f21 = async function *() { +>f21 : Symbol(f21, Decl(yieldInNestedComputedPropertyIsOk.ts, 0, 5)) + + const x = { [yield]: 1 }; +>x : Symbol(x, Decl(yieldInNestedComputedPropertyIsOk.ts, 1, 9)) +>[yield] : Symbol([yield], Decl(yieldInNestedComputedPropertyIsOk.ts, 1, 15)) + +}; + diff --git a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionExpressions.es2018(alwaysstrict=false).types b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionExpressions.es2018(alwaysstrict=false).types new file mode 100644 index 00000000000..5dc0ee960a8 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.functionExpressions.es2018(alwaysstrict=false).types @@ -0,0 +1,198 @@ +//// [tests/cases/conformance/parser/ecmascript2018/asyncGenerators/parser.asyncGenerators.functionExpressions.es2018.ts] //// + +=== functionExpressionIsOk.ts === +const f1 = async function * f() { +>f1 : () => AsyncGenerator +>async function * f() {} : () => AsyncGenerator +>f : () => AsyncGenerator + +}; +=== awaitNameIsError.ts === +const f2 = async function * await() { +>f2 : () => AsyncGenerator +>async function * await() {} : () => AsyncGenerator +>await : () => AsyncGenerator + +}; +=== yieldNameIsError.ts === +const f3 = async function * yield() { +>f3 : () => AsyncGenerator +>async function * yield() {} : () => AsyncGenerator +>yield : () => AsyncGenerator + +}; +=== awaitParameterIsError.ts === +const f4 = async function * (await) { +>f4 : (await: any) => AsyncGenerator +>async function * (await) {} : (await: any) => AsyncGenerator +>await : any + +}; +=== yieldParameterIsError.ts === +const f5 = async function * (yield) { +>f5 : (yield: any) => AsyncGenerator +>async function * (yield) {} : (yield: any) => AsyncGenerator +>yield : any + +}; +=== awaitInParameterInitializerIsError.ts === +const f6 = async function * (a = await 1) { +>f6 : (a?: number) => AsyncGenerator +>async function * (a = await 1) {} : (a?: number) => AsyncGenerator +>a : number +>await 1 : 1 +>1 : 1 + +}; +=== yieldInParameterInitializerIsError.ts === +const f7 = async function * (a = yield) { +>f7 : (a?: any) => AsyncGenerator +>async function * (a = yield) {} : (a?: any) => AsyncGenerator +>a : any +>yield : any + +}; +=== nestedAsyncGeneratorIsOk.ts === +const f8 = async function * () { +>f8 : () => AsyncGenerator +>async function * () { async function * g() { }} : () => AsyncGenerator + + async function * g() { +>g : () => AsyncGenerator + } +}; +=== nestedFunctionDeclarationNamedYieldIsError.ts === +const f9 = async function * () { +>f9 : () => AsyncGenerator +>async function * () { function yield() { }} : () => AsyncGenerator + + function yield() { +>yield : () => void + } +}; +=== nestedFunctionExpressionNamedYieldIsError.ts === +const f10 = async function * () { +>f10 : () => AsyncGenerator +>async function * () { const x = function yield() { };} : () => AsyncGenerator + + const x = function yield() { +>x : () => void +>function yield() { } : () => void +>yield : () => void + + }; +}; +=== nestedFunctionDeclarationNamedAwaitIsError.ts === +const f11 = async function * () { +>f11 : () => AsyncGenerator +>async function * () { function await() { }} : () => AsyncGenerator + + function await() { +>await : () => void + } +}; +=== nestedFunctionExpressionNamedAwaitIsError.ts === +const f12 = async function * () { +>f12 : () => AsyncGenerator +>async function * () { const x = function await() { };} : () => AsyncGenerator + + const x = function await() { +>x : () => void +>function await() { } : () => void +>await : () => void + + }; +}; +=== yieldIsOk.ts === +const f13 = async function * () { +>f13 : () => AsyncGenerator +>async function * () { yield;} : () => AsyncGenerator + + yield; +>yield : any + +}; +=== yieldWithValueIsOk.ts === +const f14 = async function * () { +>f14 : () => AsyncGenerator +>async function * () { yield 1;} : () => AsyncGenerator + + yield 1; +>yield 1 : any +>1 : 1 + +}; +=== yieldStarMissingValueIsError.ts === +const f15 = async function * () { +>f15 : () => AsyncGenerator +>async function * () { yield *;} : () => AsyncGenerator + + yield *; +>yield * : any +> : any + +}; +=== yieldStarWithValueIsOk.ts === +const f16 = async function * () { +>f16 : () => AsyncGenerator +>async function * () { yield * [];} : () => AsyncGenerator + + yield * []; +>yield * [] : any +>[] : undefined[] + +}; +=== awaitWithValueIsOk.ts === +const f17 = async function * () { +>f17 : () => AsyncGenerator +>async function * () { await 1;} : () => AsyncGenerator + + await 1; +>await 1 : 1 +>1 : 1 + +}; +=== awaitMissingValueIsError.ts === +const f18 = async function * () { +>f18 : () => AsyncGenerator +>async function * () { await;} : () => AsyncGenerator + + await; +>await : any +> : any + +}; +=== awaitAsTypeIsOk.ts === +interface await {} +const f19 = async function * () { +>f19 : () => AsyncGenerator +>async function * () { let x: await;} : () => AsyncGenerator + + let x: await; +>x : await + +}; +=== yieldAsTypeIsOk.ts === +interface yield {} +const f20 = async function * () { +>f20 : () => AsyncGenerator +>async function * () { let x: yield;} : () => AsyncGenerator + + let x: yield; +>x : yield + +}; +=== yieldInNestedComputedPropertyIsOk.ts === +const f21 = async function *() { +>f21 : () => AsyncGenerator +>async function *() { const x = { [yield]: 1 };} : () => AsyncGenerator + + const x = { [yield]: 1 }; +>x : { [x: number]: number; } +>{ [yield]: 1 } : { [x: number]: number; } +>[yield] : number +>yield : any +>1 : 1 + +}; + diff --git a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.objectLiteralMethods.es2018(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.objectLiteralMethods.es2018(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..5a7a614d324 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.objectLiteralMethods.es2018(alwaysstrict=false).errors.txt @@ -0,0 +1,191 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +asyncGeneratorGetAccessorIsError.ts(2,17): error TS1005: '(' expected. +asyncGeneratorPropertyIsError.ts(2,14): error TS1005: '(' expected. +asyncGeneratorSetAccessorIsError.ts(2,17): error TS1005: '(' expected. +awaitInParameterInitializerIsError.ts(2,19): error TS2524: 'await' expressions cannot be used in a parameter initializer. +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 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 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 TS1212: Identifier expected. 'yield' is a reserved word in strict mode. +yieldStarMissingValueIsError.ts(3,16): error TS1109: Expression expected. + + +!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== methodIsOk.ts (0 errors) ==== + const o1 = { + async * f() { + } + }; +==== awaitMethodNameIsOk.ts (0 errors) ==== + const o2 = { + async * await() { + } + }; +==== yieldMethodNameIsOk.ts (0 errors) ==== + const o3 = { + async * yield() { + } + }; +==== awaitParameterIsError.ts (1 errors) ==== + const o4 = { + async * f(await) { + ~~~~~ +!!! error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. + } + }; +==== yieldParameterIsError.ts (1 errors) ==== + const o5 = { + async * f(yield) { + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + } + }; +==== awaitInParameterInitializerIsError.ts (1 errors) ==== + const o6 = { + async * f(a = await 1) { + ~~~~~~~ +!!! error TS2524: 'await' expressions cannot be used in a parameter initializer. + } + }; +==== yieldInParameterInitializerIsError.ts (1 errors) ==== + const o7 = { + async * f(a = yield) { + ~~~~~ +!!! error TS2523: 'yield' expressions cannot be used in a parameter initializer. + } + }; +==== nestedAsyncGeneratorIsOk.ts (0 errors) ==== + const o8 = { + async * f() { + async function * g() { + } + } + }; +==== nestedFunctionDeclarationNamedYieldIsError.ts (1 errors) ==== + const o9 = { + async * f() { + function yield() { + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + } + } + }; +==== nestedFunctionExpressionNamedYieldIsError.ts (1 errors) ==== + const o10 = { + async * f() { + const x = function yield() { + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + }; + } + }; +==== nestedFunctionDeclarationNamedAwaitIsError.ts (1 errors) ==== + const o11 = { + async * f() { + function await() { + ~~~~~ +!!! error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. + } + } + }; +==== nestedFunctionExpressionNamedAwaitIsError.ts (1 errors) ==== + const o12 = { + async * f() { + const x = function await() { + ~~~~~ +!!! error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. + }; + } + }; +==== yieldIsOk.ts (0 errors) ==== + const o13 = { + async * f() { + yield; + } + }; +==== yieldWithValueIsOk.ts (0 errors) ==== + const o14 = { + async * f() { + yield 1; + } + }; +==== yieldStarMissingValueIsError.ts (1 errors) ==== + const o15 = { + async * f() { + yield *; + ~ +!!! error TS1109: Expression expected. + } + }; +==== yieldStarWithValueIsOk.ts (0 errors) ==== + const o16 = { + async * f() { + yield * []; + } + }; +==== awaitWithValueIsOk.ts (0 errors) ==== + const o17 = { + async * f() { + await 1; + } + }; +==== awaitMissingValueIsError.ts (1 errors) ==== + const o18 = { + async * f() { + await; + ~ +!!! error TS1109: Expression expected. + } + }; +==== awaitAsTypeIsOk.ts (0 errors) ==== + interface await {} + const o19 = { + async * f() { + let x: await; + } + }; +==== 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) ==== + const o21 = { + async * f() { + const x = { [yield]: 1 }; + } + }; +==== asyncGeneratorGetAccessorIsError.ts (1 errors) ==== + const o22 = { + async * get x() { + ~ +!!! error TS1005: '(' expected. + return 1; + } + }; +==== asyncGeneratorSetAccessorIsError.ts (1 errors) ==== + const o23 = { + async * set x(value: number) { + ~ +!!! error TS1005: '(' expected. + } + }; +==== asyncGeneratorPropertyIsError.ts (1 errors) ==== + const o24 = { + async * x: 1; + ~ +!!! error TS1005: '(' expected. + }; + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.objectLiteralMethods.es2018(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.objectLiteralMethods.es2018(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..5d45c73829d --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.objectLiteralMethods.es2018(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,72 @@ +--- old.parser.asyncGenerators.objectLiteralMethods.es2018(alwaysstrict=false).errors.txt ++++ new.parser.asyncGenerators.objectLiteralMethods.es2018(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ ++error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. + asyncGeneratorGetAccessorIsError.ts(2,17): error TS1005: '(' expected. + asyncGeneratorPropertyIsError.ts(2,14): error TS1005: '(' expected. + asyncGeneratorSetAccessorIsError.ts(2,17): error TS1005: '(' expected. +@@= skipped -4, +5 lines =@@ + 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. + + ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. + ==== methodIsOk.ts (0 errors) ==== + const o1 = { + async * f() { +@@= skipped -34, +37 lines =@@ + 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) ==== +@@= skipped -29, +29 lines =@@ + 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. + } + } + }; +@@= skipped -9, +9 lines =@@ + 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. + }; + } + }; +@@= skipped -69, +69 lines =@@ + 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) ==== \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.objectLiteralMethods.es2018(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.objectLiteralMethods.es2018(alwaysstrict=false).symbols new file mode 100644 index 00000000000..f446450108c --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.objectLiteralMethods.es2018(alwaysstrict=false).symbols @@ -0,0 +1,258 @@ +//// [tests/cases/conformance/parser/ecmascript2018/asyncGenerators/parser.asyncGenerators.objectLiteralMethods.es2018.ts] //// + +=== methodIsOk.ts === +const o1 = { +>o1 : Symbol(o1, Decl(methodIsOk.ts, 0, 5)) + + async * f() { +>f : Symbol(f, Decl(methodIsOk.ts, 0, 12)) + } +}; +=== awaitMethodNameIsOk.ts === +const o2 = { +>o2 : Symbol(o2, Decl(awaitMethodNameIsOk.ts, 0, 5)) + + async * await() { +>await : Symbol(await, Decl(awaitMethodNameIsOk.ts, 0, 12)) + } +}; +=== yieldMethodNameIsOk.ts === +const o3 = { +>o3 : Symbol(o3, Decl(yieldMethodNameIsOk.ts, 0, 5)) + + async * yield() { +>yield : Symbol(yield, Decl(yieldMethodNameIsOk.ts, 0, 12)) + } +}; +=== awaitParameterIsError.ts === +const o4 = { +>o4 : Symbol(o4, Decl(awaitParameterIsError.ts, 0, 5)) + + async * f(await) { +>f : Symbol(f, Decl(awaitParameterIsError.ts, 0, 12)) +>await : Symbol(await, Decl(awaitParameterIsError.ts, 1, 14)) + } +}; +=== yieldParameterIsError.ts === +const o5 = { +>o5 : Symbol(o5, Decl(yieldParameterIsError.ts, 0, 5)) + + async * f(yield) { +>f : Symbol(f, Decl(yieldParameterIsError.ts, 0, 12)) +>yield : Symbol(yield, Decl(yieldParameterIsError.ts, 1, 14)) + } +}; +=== awaitInParameterInitializerIsError.ts === +const o6 = { +>o6 : Symbol(o6, Decl(awaitInParameterInitializerIsError.ts, 0, 5)) + + async * f(a = await 1) { +>f : Symbol(f, Decl(awaitInParameterInitializerIsError.ts, 0, 12)) +>a : Symbol(a, Decl(awaitInParameterInitializerIsError.ts, 1, 14)) + } +}; +=== yieldInParameterInitializerIsError.ts === +const o7 = { +>o7 : Symbol(o7, Decl(yieldInParameterInitializerIsError.ts, 0, 5)) + + async * f(a = yield) { +>f : Symbol(f, Decl(yieldInParameterInitializerIsError.ts, 0, 12)) +>a : Symbol(a, Decl(yieldInParameterInitializerIsError.ts, 1, 14)) + } +}; +=== nestedAsyncGeneratorIsOk.ts === +const o8 = { +>o8 : Symbol(o8, Decl(nestedAsyncGeneratorIsOk.ts, 0, 5)) + + async * f() { +>f : Symbol(f, Decl(nestedAsyncGeneratorIsOk.ts, 0, 12)) + + async function * g() { +>g : Symbol(g, Decl(nestedAsyncGeneratorIsOk.ts, 1, 17)) + } + } +}; +=== nestedFunctionDeclarationNamedYieldIsError.ts === +const o9 = { +>o9 : Symbol(o9, Decl(nestedFunctionDeclarationNamedYieldIsError.ts, 0, 5)) + + async * f() { +>f : Symbol(f, Decl(nestedFunctionDeclarationNamedYieldIsError.ts, 0, 12)) + + function yield() { +>yield : Symbol(yield, Decl(nestedFunctionDeclarationNamedYieldIsError.ts, 1, 17)) + } + } +}; +=== nestedFunctionExpressionNamedYieldIsError.ts === +const o10 = { +>o10 : Symbol(o10, Decl(nestedFunctionExpressionNamedYieldIsError.ts, 0, 5)) + + async * f() { +>f : Symbol(f, Decl(nestedFunctionExpressionNamedYieldIsError.ts, 0, 13)) + + const x = function yield() { +>x : Symbol(x, Decl(nestedFunctionExpressionNamedYieldIsError.ts, 2, 13)) +>yield : Symbol(yield, Decl(nestedFunctionExpressionNamedYieldIsError.ts, 2, 17)) + + }; + } +}; +=== nestedFunctionDeclarationNamedAwaitIsError.ts === +const o11 = { +>o11 : Symbol(o11, Decl(nestedFunctionDeclarationNamedAwaitIsError.ts, 0, 5)) + + async * f() { +>f : Symbol(f, Decl(nestedFunctionDeclarationNamedAwaitIsError.ts, 0, 13)) + + function await() { +>await : Symbol(await, Decl(nestedFunctionDeclarationNamedAwaitIsError.ts, 1, 17)) + } + } +}; +=== nestedFunctionExpressionNamedAwaitIsError.ts === +const o12 = { +>o12 : Symbol(o12, Decl(nestedFunctionExpressionNamedAwaitIsError.ts, 0, 5)) + + async * f() { +>f : Symbol(f, Decl(nestedFunctionExpressionNamedAwaitIsError.ts, 0, 13)) + + const x = function await() { +>x : Symbol(x, Decl(nestedFunctionExpressionNamedAwaitIsError.ts, 2, 13)) +>await : Symbol(await, Decl(nestedFunctionExpressionNamedAwaitIsError.ts, 2, 17)) + + }; + } +}; +=== yieldIsOk.ts === +const o13 = { +>o13 : Symbol(o13, Decl(yieldIsOk.ts, 0, 5)) + + async * f() { +>f : Symbol(f, Decl(yieldIsOk.ts, 0, 13)) + + yield; + } +}; +=== yieldWithValueIsOk.ts === +const o14 = { +>o14 : Symbol(o14, Decl(yieldWithValueIsOk.ts, 0, 5)) + + async * f() { +>f : Symbol(f, Decl(yieldWithValueIsOk.ts, 0, 13)) + + yield 1; + } +}; +=== yieldStarMissingValueIsError.ts === +const o15 = { +>o15 : Symbol(o15, Decl(yieldStarMissingValueIsError.ts, 0, 5)) + + async * f() { +>f : Symbol(f, Decl(yieldStarMissingValueIsError.ts, 0, 13)) + + yield *; + } +}; +=== yieldStarWithValueIsOk.ts === +const o16 = { +>o16 : Symbol(o16, Decl(yieldStarWithValueIsOk.ts, 0, 5)) + + async * f() { +>f : Symbol(f, Decl(yieldStarWithValueIsOk.ts, 0, 13)) + + yield * []; + } +}; +=== awaitWithValueIsOk.ts === +const o17 = { +>o17 : Symbol(o17, Decl(awaitWithValueIsOk.ts, 0, 5)) + + async * f() { +>f : Symbol(f, Decl(awaitWithValueIsOk.ts, 0, 13)) + + await 1; + } +}; +=== awaitMissingValueIsError.ts === +const o18 = { +>o18 : Symbol(o18, Decl(awaitMissingValueIsError.ts, 0, 5)) + + async * f() { +>f : Symbol(f, Decl(awaitMissingValueIsError.ts, 0, 13)) + + await; + } +}; +=== awaitAsTypeIsOk.ts === +interface await {} +>await : Symbol(await, Decl(awaitAsTypeIsOk.ts, 0, 0)) + +const o19 = { +>o19 : Symbol(o19, Decl(awaitAsTypeIsOk.ts, 1, 5)) + + async * f() { +>f : Symbol(f, Decl(awaitAsTypeIsOk.ts, 1, 13)) + + let x: await; +>x : Symbol(x, Decl(awaitAsTypeIsOk.ts, 3, 11)) +>await : Symbol(await, Decl(awaitAsTypeIsOk.ts, 0, 0)) + } +}; +=== yieldAsTypeIsOk.ts === +interface yield {} +>yield : Symbol(yield, Decl(yieldAsTypeIsOk.ts, 0, 0)) + +const o20 = { +>o20 : Symbol(o20, Decl(yieldAsTypeIsOk.ts, 1, 5)) + + async * f() { +>f : Symbol(f, Decl(yieldAsTypeIsOk.ts, 1, 13)) + + let x: yield; +>x : Symbol(x, Decl(yieldAsTypeIsOk.ts, 3, 11)) +>yield : Symbol(yield, Decl(yieldAsTypeIsOk.ts, 0, 0)) + } +}; +=== yieldInNestedComputedPropertyIsOk.ts === +const o21 = { +>o21 : Symbol(o21, Decl(yieldInNestedComputedPropertyIsOk.ts, 0, 5)) + + async * f() { +>f : Symbol(f, Decl(yieldInNestedComputedPropertyIsOk.ts, 0, 13)) + + const x = { [yield]: 1 }; +>x : Symbol(x, Decl(yieldInNestedComputedPropertyIsOk.ts, 2, 13)) +>[yield] : Symbol([yield], Decl(yieldInNestedComputedPropertyIsOk.ts, 2, 19)) + } +}; +=== asyncGeneratorGetAccessorIsError.ts === +const o22 = { +>o22 : Symbol(o22, Decl(asyncGeneratorGetAccessorIsError.ts, 0, 5)) + + async * get x() { +>get : Symbol(get, Decl(asyncGeneratorGetAccessorIsError.ts, 0, 13)) +>x : Symbol(x, Decl(asyncGeneratorGetAccessorIsError.ts, 1, 15)) + + return 1; + } +}; +=== asyncGeneratorSetAccessorIsError.ts === +const o23 = { +>o23 : Symbol(o23, Decl(asyncGeneratorSetAccessorIsError.ts, 0, 5)) + + async * set x(value: number) { +>set : Symbol(set, Decl(asyncGeneratorSetAccessorIsError.ts, 0, 13)) +>x : Symbol(x, Decl(asyncGeneratorSetAccessorIsError.ts, 1, 15)) +>value : Symbol(value, Decl(asyncGeneratorSetAccessorIsError.ts, 1, 18)) + } +}; +=== asyncGeneratorPropertyIsError.ts === +const o24 = { +>o24 : Symbol(o24, Decl(asyncGeneratorPropertyIsError.ts, 0, 5)) + + async * x: 1; +>x : Symbol(x, Decl(asyncGeneratorPropertyIsError.ts, 0, 13)) + +}; + diff --git a/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.objectLiteralMethods.es2018(alwaysstrict=false).types b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.objectLiteralMethods.es2018(alwaysstrict=false).types new file mode 100644 index 00000000000..3969d1d260b --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/parser.asyncGenerators.objectLiteralMethods.es2018(alwaysstrict=false).types @@ -0,0 +1,296 @@ +//// [tests/cases/conformance/parser/ecmascript2018/asyncGenerators/parser.asyncGenerators.objectLiteralMethods.es2018.ts] //// + +=== methodIsOk.ts === +const o1 = { +>o1 : { f(): AsyncGenerator; } +>{ async * f() { }} : { f(): AsyncGenerator; } + + async * f() { +>f : () => AsyncGenerator + } +}; +=== awaitMethodNameIsOk.ts === +const o2 = { +>o2 : { await(): AsyncGenerator; } +>{ async * await() { }} : { await(): AsyncGenerator; } + + async * await() { +>await : () => AsyncGenerator + } +}; +=== yieldMethodNameIsOk.ts === +const o3 = { +>o3 : { yield(): AsyncGenerator; } +>{ async * yield() { }} : { yield(): AsyncGenerator; } + + async * yield() { +>yield : () => AsyncGenerator + } +}; +=== awaitParameterIsError.ts === +const o4 = { +>o4 : { f(await: any): AsyncGenerator; } +>{ async * f(await) { }} : { f(await: any): AsyncGenerator; } + + async * f(await) { +>f : (await: any) => AsyncGenerator +>await : any + } +}; +=== yieldParameterIsError.ts === +const o5 = { +>o5 : { f(yield: any): AsyncGenerator; } +>{ async * f(yield) { }} : { f(yield: any): AsyncGenerator; } + + async * f(yield) { +>f : (yield: any) => AsyncGenerator +>yield : any + } +}; +=== awaitInParameterInitializerIsError.ts === +const o6 = { +>o6 : { f(a?: number): AsyncGenerator; } +>{ async * f(a = await 1) { }} : { f(a?: number): AsyncGenerator; } + + async * f(a = await 1) { +>f : (a?: number) => AsyncGenerator +>a : number +>await 1 : 1 +>1 : 1 + } +}; +=== yieldInParameterInitializerIsError.ts === +const o7 = { +>o7 : { f(a?: any): AsyncGenerator; } +>{ async * f(a = yield) { }} : { f(a?: any): AsyncGenerator; } + + async * f(a = yield) { +>f : (a?: any) => AsyncGenerator +>a : any +>yield : any + } +}; +=== nestedAsyncGeneratorIsOk.ts === +const o8 = { +>o8 : { f(): AsyncGenerator; } +>{ async * f() { async function * g() { } }} : { f(): AsyncGenerator; } + + async * f() { +>f : () => AsyncGenerator + + async function * g() { +>g : () => AsyncGenerator + } + } +}; +=== nestedFunctionDeclarationNamedYieldIsError.ts === +const o9 = { +>o9 : { f(): AsyncGenerator; } +>{ async * f() { function yield() { } }} : { f(): AsyncGenerator; } + + async * f() { +>f : () => AsyncGenerator + + function yield() { +>yield : () => void + } + } +}; +=== nestedFunctionExpressionNamedYieldIsError.ts === +const o10 = { +>o10 : { f(): AsyncGenerator; } +>{ async * f() { const x = function yield() { }; }} : { f(): AsyncGenerator; } + + async * f() { +>f : () => AsyncGenerator + + const x = function yield() { +>x : () => void +>function yield() { } : () => void +>yield : () => void + + }; + } +}; +=== nestedFunctionDeclarationNamedAwaitIsError.ts === +const o11 = { +>o11 : { f(): AsyncGenerator; } +>{ async * f() { function await() { } }} : { f(): AsyncGenerator; } + + async * f() { +>f : () => AsyncGenerator + + function await() { +>await : () => void + } + } +}; +=== nestedFunctionExpressionNamedAwaitIsError.ts === +const o12 = { +>o12 : { f(): AsyncGenerator; } +>{ async * f() { const x = function await() { }; }} : { f(): AsyncGenerator; } + + async * f() { +>f : () => AsyncGenerator + + const x = function await() { +>x : () => void +>function await() { } : () => void +>await : () => void + + }; + } +}; +=== yieldIsOk.ts === +const o13 = { +>o13 : { f(): AsyncGenerator; } +>{ async * f() { yield; }} : { f(): AsyncGenerator; } + + async * f() { +>f : () => AsyncGenerator + + yield; +>yield : any + } +}; +=== yieldWithValueIsOk.ts === +const o14 = { +>o14 : { f(): AsyncGenerator; } +>{ async * f() { yield 1; }} : { f(): AsyncGenerator; } + + async * f() { +>f : () => AsyncGenerator + + yield 1; +>yield 1 : any +>1 : 1 + } +}; +=== yieldStarMissingValueIsError.ts === +const o15 = { +>o15 : { f(): AsyncGenerator; } +>{ async * f() { yield *; }} : { f(): AsyncGenerator; } + + async * f() { +>f : () => AsyncGenerator + + yield *; +>yield * : any +> : any + } +}; +=== yieldStarWithValueIsOk.ts === +const o16 = { +>o16 : { f(): AsyncGenerator; } +>{ async * f() { yield * []; }} : { f(): AsyncGenerator; } + + async * f() { +>f : () => AsyncGenerator + + yield * []; +>yield * [] : any +>[] : undefined[] + } +}; +=== awaitWithValueIsOk.ts === +const o17 = { +>o17 : { f(): AsyncGenerator; } +>{ async * f() { await 1; }} : { f(): AsyncGenerator; } + + async * f() { +>f : () => AsyncGenerator + + await 1; +>await 1 : 1 +>1 : 1 + } +}; +=== awaitMissingValueIsError.ts === +const o18 = { +>o18 : { f(): AsyncGenerator; } +>{ async * f() { await; }} : { f(): AsyncGenerator; } + + async * f() { +>f : () => AsyncGenerator + + await; +>await : any +> : any + } +}; +=== awaitAsTypeIsOk.ts === +interface await {} +const o19 = { +>o19 : { f(): AsyncGenerator; } +>{ async * f() { let x: await; }} : { f(): AsyncGenerator; } + + async * f() { +>f : () => AsyncGenerator + + let x: await; +>x : await + } +}; +=== yieldAsTypeIsOk.ts === +interface yield {} +const o20 = { +>o20 : { f(): AsyncGenerator; } +>{ async * f() { let x: yield; }} : { f(): AsyncGenerator; } + + async * f() { +>f : () => AsyncGenerator + + let x: yield; +>x : yield + } +}; +=== yieldInNestedComputedPropertyIsOk.ts === +const o21 = { +>o21 : { f(): AsyncGenerator; } +>{ async * f() { const x = { [yield]: 1 }; }} : { f(): AsyncGenerator; } + + async * f() { +>f : () => AsyncGenerator + + const x = { [yield]: 1 }; +>x : { [x: number]: number; } +>{ [yield]: 1 } : { [x: number]: number; } +>[yield] : number +>yield : any +>1 : 1 + } +}; +=== asyncGeneratorGetAccessorIsError.ts === +const o22 = { +>o22 : { get(): any; x(): number; } +>{ async * get x() { return 1; }} : { get(): any; x(): number; } + + async * get x() { +>get : () => any +>x : () => number + + return 1; +>1 : 1 + } +}; +=== asyncGeneratorSetAccessorIsError.ts === +const o23 = { +>o23 : { set(): any; x(value: number): void; } +>{ async * set x(value: number) { }} : { set(): any; x(value: number): void; } + + async * set x(value: number) { +>set : () => any +>x : (value: number) => void +>value : number + } +}; +=== asyncGeneratorPropertyIsError.ts === +const o24 = { +>o24 : { x(): 1; } +>{ async * x: 1;} : { x(): 1; } + + async * x: 1; +>x : () => 1 + +}; + diff --git a/testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).errors.txt b/testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).errors.txt new file mode 100644 index 00000000000..5786ced124b --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).errors.txt @@ -0,0 +1,21 @@ +error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +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 TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. +==== parserStatementIsNotAMemberVariableDeclaration1.ts (2 errors) ==== + return { + ~~~~~~ +!!! error TS1108: A 'return' statement can only be used within a function body. + + "set": function (key, value) { + + // 'private' should not be considered a member variable here. + private[key] = value; + ~~~~~~~ +!!! error TS1212: Identifier expected. 'private' is a reserved word in strict mode. + + } + + }; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).errors.txt.diff new file mode 100644 index 00000000000..565b32e56b9 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).errors.txt.diff @@ -0,0 +1,29 @@ +--- old.parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).errors.txt ++++ new.parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).errors.txt +@@= skipped -0, +0 lines =@@ +-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 TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. + parserStatementIsNotAMemberVariableDeclaration1.ts(1,1): error TS1108: A 'return' statement can only be used within a function body. +- +- +-!!! 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! +-!!! related TS-1: The excess diagnostics are: +-!!! related TS2304 parserStatementIsNotAMemberVariableDeclaration1.ts:6:5: Cannot find name 'private'. +-==== parserStatementIsNotAMemberVariableDeclaration1.ts (1 errors) ==== ++parserStatementIsNotAMemberVariableDeclaration1.ts(6,5): error TS1212: Identifier expected. 'private' is a reserved word in strict mode. ++ ++ ++!!! error TS5108: Option 'alwaysStrict=false' has been removed. Please remove it from your configuration. ++==== parserStatementIsNotAMemberVariableDeclaration1.ts (2 errors) ==== + return { + ~~~~~~ + !!! error TS1108: A 'return' statement can only be used within a function body. +@@= skipped -13, +12 lines =@@ + + // 'private' should not be considered a member variable here. + private[key] = value; ++ ~~~~~~~ ++!!! error TS1212: Identifier expected. 'private' is a reserved word in strict mode. + + } + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).js b/testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).js new file mode 100644 index 00000000000..4adbe2d89ab --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).js @@ -0,0 +1,22 @@ +//// [tests/cases/conformance/parser/ecmascript5/ErrorRecovery/parserStatementIsNotAMemberVariableDeclaration1.ts] //// + +//// [parserStatementIsNotAMemberVariableDeclaration1.ts] +return { + + "set": function (key, value) { + + // 'private' should not be considered a member variable here. + private[key] = value; + + } + +}; + +//// [parserStatementIsNotAMemberVariableDeclaration1.js] +"use strict"; +return { + "set": function (key, value) { + // 'private' should not be considered a member variable here. + private[key] = value; + } +}; diff --git a/testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).js.diff b/testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).js.diff new file mode 100644 index 00000000000..ddd8337ec6b --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).js.diff @@ -0,0 +1,10 @@ +--- old.parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).js ++++ new.parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).js +@@= skipped -12, +12 lines =@@ + }; + + //// [parserStatementIsNotAMemberVariableDeclaration1.js] ++"use strict"; + return { + "set": function (key, value) { + // 'private' should not be considered a member variable here. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).symbols b/testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).symbols new file mode 100644 index 00000000000..1ab21d87dc7 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).symbols @@ -0,0 +1,18 @@ +//// [tests/cases/conformance/parser/ecmascript5/ErrorRecovery/parserStatementIsNotAMemberVariableDeclaration1.ts] //// + +=== parserStatementIsNotAMemberVariableDeclaration1.ts === +return { + + "set": function (key, value) { +>"set" : Symbol("set", Decl(parserStatementIsNotAMemberVariableDeclaration1.ts, 0, 8)) +>key : Symbol(key, Decl(parserStatementIsNotAMemberVariableDeclaration1.ts, 2, 19)) +>value : Symbol(value, Decl(parserStatementIsNotAMemberVariableDeclaration1.ts, 2, 23)) + + // 'private' should not be considered a member variable here. + private[key] = value; +>key : Symbol(key, Decl(parserStatementIsNotAMemberVariableDeclaration1.ts, 2, 19)) +>value : Symbol(value, Decl(parserStatementIsNotAMemberVariableDeclaration1.ts, 2, 23)) + + } + +}; diff --git a/testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).types b/testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).types new file mode 100644 index 00000000000..7be1eb65d6c --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/parserStatementIsNotAMemberVariableDeclaration1(alwaysstrict=false).types @@ -0,0 +1,23 @@ +//// [tests/cases/conformance/parser/ecmascript5/ErrorRecovery/parserStatementIsNotAMemberVariableDeclaration1.ts] //// + +=== parserStatementIsNotAMemberVariableDeclaration1.ts === +return { +>{ "set": function (key, value) { // 'private' should not be considered a member variable here. private[key] = value; }} : { set: (key: any, value: any) => void; } + + "set": function (key, value) { +>"set" : (key: any, value: any) => void +>function (key, value) { // 'private' should not be considered a member variable here. private[key] = value; } : (key: any, value: any) => void +>key : any +>value : any + + // 'private' should not be considered a member variable here. + private[key] = value; +>private[key] = value : any +>private[key] : any +>private : any +>key : any +>value : any + + } + +};