From c08fb7d7f274950b08a7fa687906f9ed3741461e Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Thu, 9 Aug 2018 15:36:49 -0700 Subject: [PATCH] mark error type in baselines very not-aggressively --- src/harness/harness.ts | 4 +- src/harness/typeWriter.ts | 48 +++++++++++- src/testRunner/compilerRunner.ts | 8 +- .../reference/acceptableAlias1.types | 2 +- .../reference/aliasInaccessibleModule.types | 2 +- .../checkJsFiles_skipDiagnostics.types | 10 +-- ...eclarationEmitNameConflictsWithAlias.types | 2 +- .../doubleUnderscoreReactNamespace.types | 4 +- .../reference/duplicateVarAndImport.types | 2 +- .../reference/es3-jsx-preserve.types | 4 +- .../reference/es3-jsx-react-native.types | 4 +- tests/baselines/reference/es3-jsx-react.types | 4 +- .../exportImportNonInstantiatedModule.types | 2 +- .../reference/importHelpersInTsx.types | 8 +- .../importUsedInGenericImportResolves.types | 2 +- .../importedModuleClassNameClash.types | 2 +- .../reference/indexingTypesWithNever.types | 4 +- .../inlineJsxFactoryDeclarations.types | 16 ++-- ...ineJsxFactoryOverridesCompilerOption.types | 4 +- ...duleNotReferencingInstanceNoConflict.types | 2 +- ...PropertyInitalizationInObjectLiteral.types | 2 +- .../jsFileClassSelfReferencedProperty.types | 4 +- .../jsFileCompilationDecoratorSyntax.types | 2 +- ...sFileCompilationExternalPackageError.types | 6 +- .../jsxEmitAttributeWithPreserve.types | 2 +- .../reference/jsxEmitWithAttributes.types | 4 +- .../reference/jsxFactoryIdentifier.types | 4 +- .../jsxFactoryIdentifierAsParameter.types | 2 +- .../reference/jsxFactoryQualifiedName.types | 4 +- .../jsxFactoryQualifiedNameWithEs5.types | 2 +- tests/baselines/reference/jsxHash.types | 58 +++++++-------- .../reference/jsxImportInAttribute.types | 2 +- .../reference/jsxInExtendsClause.types | 2 +- .../jsxMultilineAttributeStringValues.types | 8 +- .../jsxMultilineAttributeValuesReact.types | 12 +-- ...sxNestedWithinTernaryParsesCorrectly.types | 10 +-- .../reference/jsxPreserveWithJsInput.types | 12 +-- .../reference/jsxReactTestSuite.types | 74 +++++++++---------- .../baselines/reference/jsxViaImport.2.types | 2 +- .../reference/keywordInJsxIdentifier.types | 8 +- .../reference/methodsReturningThis.types | 2 +- .../misspelledJsDocTypedefTags.types | 4 +- .../moduleAugmentationInDependency.types | 2 +- ...oduleResolution_relativeImportJsFile.types | 2 +- tests/baselines/reference/moduledecl.types | 18 ++--- .../reference/multipleDeclarations.types | 4 +- .../baselines/reference/packageJsonMain.types | 10 +-- .../reference/parserES5ForOfStatement18.types | 2 +- .../reference/parserES5ForOfStatement19.types | 2 +- .../reference/parserForOfStatement18.types | 2 +- .../reference/parserForOfStatement19.types | 2 +- .../reference/reactImportDropped.types | 8 +- .../reactNamespaceImportPresevation.types | 2 +- .../reference/reactNamespaceJSXEmit.types | 12 +-- ...tTransitiveImportHasValidDeclaration.types | 4 +- tests/baselines/reference/recur1.types | 2 +- ...eExportAssignmentAndFindAliasedType7.types | 2 +- .../reservedNameOnModuleImport.types | 2 +- .../reference/spreadIntersectionJsx.types | 4 +- .../reference/superNoModifiersCrash.types | 4 +- .../reference/topLevelThisAssignment.types | 4 +- .../reference/tsxAttributeResolution13.types | 2 +- .../tsxAttributesHasInferrableIndex.types | 4 +- ...tsxCorrectlyParseLessThanComparison1.types | 4 +- .../reference/tsxDynamicTagName1.types | 2 +- .../reference/tsxDynamicTagName5.types | 4 +- .../reference/tsxDynamicTagName8.types | 4 +- .../reference/tsxDynamicTagName9.types | 4 +- .../reference/tsxElementResolution.types | 16 ++-- .../reference/tsxElementResolution19.types | 2 +- .../reference/tsxExternalModuleEmit1.types | 4 +- .../reference/tsxExternalModuleEmit2.types | 4 +- tests/baselines/reference/tsxNoJsx.types | 2 +- .../reference/tsxPreserveEmit1.types | 8 +- .../reference/tsxPreserveEmit2.types | 4 +- .../reference/tsxReactEmitNesting.types | 28 +++---- .../baselines/reference/tsxUnionSpread.types | 8 +- .../typeFromPropertyAssignment8.types | 2 +- .../typeFromPropertyAssignment9.types | 6 +- .../reference/untypedModuleImport.types | 18 ++--- .../baselines/reference/unusedImports13.types | 4 +- .../baselines/reference/unusedImports14.types | 4 +- .../baselines/reference/unusedImports15.types | 4 +- .../baselines/reference/unusedImports16.types | 4 +- 84 files changed, 320 insertions(+), 270 deletions(-) diff --git a/src/harness/harness.ts b/src/harness/harness.ts index 58a63bc84c098..e38723169f8a7 100644 --- a/src/harness/harness.ts +++ b/src/harness/harness.ts @@ -1493,7 +1493,7 @@ namespace Harness { }); } - export function doTypeAndSymbolBaseline(baselinePath: string, program: ts.Program, allFiles: {unitName: string, content: string}[], opts?: Baseline.BaselineOptions, multifile?: boolean, skipTypeBaselines?: boolean, skipSymbolBaselines?: boolean) { + export function doTypeAndSymbolBaseline(baselinePath: string, program: ts.Program, allFiles: {unitName: string, content: string}[], opts?: Baseline.BaselineOptions, multifile?: boolean, skipTypeBaselines?: boolean, skipSymbolBaselines?: boolean, hasErrorBaseline?: boolean) { // The full walker simulates the types that you would get from doing a full // compile. The pull walker simulates the types you get when you just do // a type query for a random node (like how the LS would do it). Most of the @@ -1509,7 +1509,7 @@ namespace Harness { // These types are equivalent, but depend on what order the compiler observed // certain parts of the program. - const fullWalker = new TypeWriterWalker(program, /*fullTypeCheck*/ true); + const fullWalker = new TypeWriterWalker(program, /*fullTypeCheck*/ true, !!hasErrorBaseline); // Produce baselines. The first gives the types for all expressions. // The second gives symbols for all identifiers. diff --git a/src/harness/typeWriter.ts b/src/harness/typeWriter.ts index 72ce3425cd81b..67f79a1a1a3c6 100644 --- a/src/harness/typeWriter.ts +++ b/src/harness/typeWriter.ts @@ -25,7 +25,7 @@ class TypeWriterWalker { private checker: ts.TypeChecker; - constructor(private program: ts.Program, fullTypeCheck: boolean) { + constructor(private program: ts.Program, fullTypeCheck: boolean, private hadErrorBaseline: boolean) { // Consider getting both the diagnostics checker and the non-diagnostics checker to verify // they are consistent. this.checker = fullTypeCheck @@ -69,6 +69,26 @@ class TypeWriterWalker { } } + private isImportStatementName(node: ts.Node) { + if (ts.isImportSpecifier(node.parent) && (node.parent.name === node || node.parent.propertyName === node)) return true; + if (ts.isImportClause(node.parent) && node.parent.name === node) return true; + if (ts.isImportEqualsDeclaration(node.parent) && node.parent.name === node) return true; + return false; + } + + private isExportStatementName(node: ts.Node) { + if (ts.isExportAssignment(node.parent) && node.parent.expression === node) return true; + if (ts.isExportSpecifier(node.parent) && (node.parent.name === node || node.parent.propertyName === node)) return true; + return false; + } + + private isIntrinsicJsxTag(node: ts.Node) { + const p = node.parent; + if (!(ts.isJsxOpeningElement(p) || ts.isJsxClosingElement(p) || ts.isJsxSelfClosingElement(p))) return false; + if (p.tagName !== node) return false; + return ts.isIntrinsicJsxName(node.getText()); + } + private writeTypeOrSymbol(node: ts.Node, isSymbolWalk: boolean): TypeWriterResult | undefined { const actualPos = ts.skipTrivia(this.currentSourceFile.text, node.pos); const lineAndCharacter = this.currentSourceFile.getLineAndCharacterOfPosition(actualPos); @@ -85,7 +105,31 @@ class TypeWriterWalker { // let type = this.checker.getTypeAtLocation(node); let type = ts.isExpressionWithTypeArgumentsInClassExtendsClause(node.parent) ? this.checker.getTypeAtLocation(node.parent) : undefined; if (!type || type.flags & ts.TypeFlags.Any) type = this.checker.getTypeAtLocation(node); - const typeString = this.checker.typeToString(type, node.parent, ts.TypeFormatFlags.NoTruncation | ts.TypeFormatFlags.AllowUniqueESSymbolType); + const typeString = + // Distinguish `errorType`s from `any`s; but only if the file has no errors. + // Additionally, + // * the LHS of a qualified name + // * a binding pattern name + // * labels + // * the "global" in "declare global" + // * the "target" in "new.target" + // * names in import statements + // * type-only names in export statements + // * and intrinsic jsx tag names + // return `error`s via `getTypeAtLocation` + // But this is generally expected, so we don't call those out, either + (!this.hadErrorBaseline && + type.flags & ts.TypeFlags.Any && + !ts.isBindingElement(node.parent) && + !ts.isPropertyAccessOrQualifiedName(node.parent) && + !ts.isLabelName(node) && + !(ts.isModuleDeclaration(node.parent) && ts.isGlobalScopeAugmentation(node.parent)) && + !ts.isMetaProperty(node.parent) && + !this.isImportStatementName(node) && + !this.isExportStatementName(node) && + !this.isIntrinsicJsxTag(node)) ? + (type as ts.IntrinsicType).intrinsicName : + this.checker.typeToString(type, node.parent, ts.TypeFormatFlags.NoTruncation | ts.TypeFormatFlags.AllowUniqueESSymbolType); return { line: lineAndCharacter.line, syntaxKind: node.kind, diff --git a/src/testRunner/compilerRunner.ts b/src/testRunner/compilerRunner.ts index 69bd80bdf11b2..aec768383d53a 100644 --- a/src/testRunner/compilerRunner.ts +++ b/src/testRunner/compilerRunner.ts @@ -258,7 +258,13 @@ class CompilerTest { Harness.Compiler.doTypeAndSymbolBaseline( this.justName, this.result.program!, - this.toBeCompiled.concat(this.otherFiles).filter(file => !!this.result.program!.getSourceFile(file.unitName))); + this.toBeCompiled.concat(this.otherFiles).filter(file => !!this.result.program!.getSourceFile(file.unitName)), + /*opts*/ undefined, + /*multifile*/ undefined, + /*skipTypeBaselines*/ undefined, + /*skipSymbolBaselines*/ undefined, + !!ts.length(this.result.diagnostics) + ); } private makeUnitName(name: string, root: string) { diff --git a/tests/baselines/reference/acceptableAlias1.types b/tests/baselines/reference/acceptableAlias1.types index 513aa92a31ac8..090b7c00e55d2 100644 --- a/tests/baselines/reference/acceptableAlias1.types +++ b/tests/baselines/reference/acceptableAlias1.types @@ -6,7 +6,7 @@ module M { } export import X = N; >X : any ->N : any +>N : error } import r = M.X; diff --git a/tests/baselines/reference/aliasInaccessibleModule.types b/tests/baselines/reference/aliasInaccessibleModule.types index c38015e286569..3a16691a0ef44 100644 --- a/tests/baselines/reference/aliasInaccessibleModule.types +++ b/tests/baselines/reference/aliasInaccessibleModule.types @@ -6,5 +6,5 @@ module M { } export import X = N; >X : any ->N : any +>N : error } diff --git a/tests/baselines/reference/checkJsFiles_skipDiagnostics.types b/tests/baselines/reference/checkJsFiles_skipDiagnostics.types index 953a4f4b910dc..69768fe638ac2 100644 --- a/tests/baselines/reference/checkJsFiles_skipDiagnostics.types +++ b/tests/baselines/reference/checkJsFiles_skipDiagnostics.types @@ -6,17 +6,17 @@ var x = 0; /// @ts-ignore x(); ->x() : any +>x() : error >x : number /// @ts-ignore x(); ->x() : any +>x() : error >x : number /// @ts-ignore x( ->x( 2, 3) : any +>x( 2, 3) : error >x : number 2, @@ -34,13 +34,13 @@ x( // @another x(); ->x() : any +>x() : error >x : number // @ts-ignore: no call signature x(); ->x() : any +>x() : error >x : number diff --git a/tests/baselines/reference/declarationEmitNameConflictsWithAlias.types b/tests/baselines/reference/declarationEmitNameConflictsWithAlias.types index 17e0c1845546f..7a4ab41390fe4 100644 --- a/tests/baselines/reference/declarationEmitNameConflictsWithAlias.types +++ b/tests/baselines/reference/declarationEmitNameConflictsWithAlias.types @@ -2,7 +2,7 @@ export module C { export interface I { } } export import v = C; >v : any ->C : any +>C : error export module M { >M : typeof M diff --git a/tests/baselines/reference/doubleUnderscoreReactNamespace.types b/tests/baselines/reference/doubleUnderscoreReactNamespace.types index 04382944d8651..b9ba88fd52942 100644 --- a/tests/baselines/reference/doubleUnderscoreReactNamespace.types +++ b/tests/baselines/reference/doubleUnderscoreReactNamespace.types @@ -11,8 +11,8 @@ declare var __foot: any; >__foot : any const thing = <__foot />; ->thing : any -><__foot /> : any +>thing : error +><__foot /> : error >__foot : any export {} diff --git a/tests/baselines/reference/duplicateVarAndImport.types b/tests/baselines/reference/duplicateVarAndImport.types index 3e0a256a9725a..b4d25cfa404d3 100644 --- a/tests/baselines/reference/duplicateVarAndImport.types +++ b/tests/baselines/reference/duplicateVarAndImport.types @@ -7,5 +7,5 @@ var a; module M { } import a = M; >a : any ->M : any +>M : error diff --git a/tests/baselines/reference/es3-jsx-preserve.types b/tests/baselines/reference/es3-jsx-preserve.types index 759870ffac5fc..ac7966455184f 100644 --- a/tests/baselines/reference/es3-jsx-preserve.types +++ b/tests/baselines/reference/es3-jsx-preserve.types @@ -4,8 +4,8 @@ const React: any = null; >null : null const elem =
; ->elem : any ->
: any +>elem : error +>
: error >div : any >div : any diff --git a/tests/baselines/reference/es3-jsx-react-native.types b/tests/baselines/reference/es3-jsx-react-native.types index 7cbfbe4684f8b..3d799442953e3 100644 --- a/tests/baselines/reference/es3-jsx-react-native.types +++ b/tests/baselines/reference/es3-jsx-react-native.types @@ -4,8 +4,8 @@ const React: any = null; >null : null const elem =
; ->elem : any ->
: any +>elem : error +>
: error >div : any >div : any diff --git a/tests/baselines/reference/es3-jsx-react.types b/tests/baselines/reference/es3-jsx-react.types index 089b3ad47cb46..18c9a4f8dccfd 100644 --- a/tests/baselines/reference/es3-jsx-react.types +++ b/tests/baselines/reference/es3-jsx-react.types @@ -4,8 +4,8 @@ const React: any = null; >null : null const elem =
; ->elem : any ->
: any +>elem : error +>
: error >div : any >div : any diff --git a/tests/baselines/reference/exportImportNonInstantiatedModule.types b/tests/baselines/reference/exportImportNonInstantiatedModule.types index efcbe8eb6e67a..5eab8c77e8cc3 100644 --- a/tests/baselines/reference/exportImportNonInstantiatedModule.types +++ b/tests/baselines/reference/exportImportNonInstantiatedModule.types @@ -9,7 +9,7 @@ module B { export import A1 = A >A1 : any ->A : any +>A : error } diff --git a/tests/baselines/reference/importHelpersInTsx.types b/tests/baselines/reference/importHelpersInTsx.types index 2d673824d951d..011be7c81fd68 100644 --- a/tests/baselines/reference/importHelpersInTsx.types +++ b/tests/baselines/reference/importHelpersInTsx.types @@ -6,8 +6,8 @@ declare var o: any; >o : any export const x = ->x : any -> : any +>x : error +> : error >span : any >o : any @@ -19,8 +19,8 @@ declare var o: any; >o : any const x = ->x : any -> : any +>x : error +> : error >span : any >o : any diff --git a/tests/baselines/reference/importUsedInGenericImportResolves.types b/tests/baselines/reference/importUsedInGenericImportResolves.types index aab96703fda98..8594ee71448ee 100644 --- a/tests/baselines/reference/importUsedInGenericImportResolves.types +++ b/tests/baselines/reference/importUsedInGenericImportResolves.types @@ -12,7 +12,7 @@ export declare const theme: { a: string } === tests/cases/compiler/test3.ts === export const a: import("./test1").T = null as any; >a : import("tests/cases/compiler/test1").T<{ a: string; }> ->theme : any +>theme : error >null as any : any >null : null diff --git a/tests/baselines/reference/importedModuleClassNameClash.types b/tests/baselines/reference/importedModuleClassNameClash.types index 4726ee9c40618..c031c7b1d7eb2 100644 --- a/tests/baselines/reference/importedModuleClassNameClash.types +++ b/tests/baselines/reference/importedModuleClassNameClash.types @@ -1,7 +1,7 @@ === tests/cases/compiler/importedModuleClassNameClash.ts === import foo = m1; >foo : typeof foo ->m1 : any +>m1 : error export module m1 { } diff --git a/tests/baselines/reference/indexingTypesWithNever.types b/tests/baselines/reference/indexingTypesWithNever.types index 52583a73ba598..a3f80388543d8 100644 --- a/tests/baselines/reference/indexingTypesWithNever.types +++ b/tests/baselines/reference/indexingTypesWithNever.types @@ -69,8 +69,8 @@ declare function genericFn3< // Should be never const result5 = genericFn3({ g: "gtest", h: "htest" }, "g", "h"); // 'g' & 'h' will reduce to never ->result5 : any ->genericFn3({ g: "gtest", h: "htest" }, "g", "h") : any +>result5 : error +>genericFn3({ g: "gtest", h: "htest" }, "g", "h") : error >genericFn3 : (obj: T, u: U, v: V) => T[U & V] >{ g: "gtest", h: "htest" } : { g: string; h: string; } >g : string diff --git a/tests/baselines/reference/inlineJsxFactoryDeclarations.types b/tests/baselines/reference/inlineJsxFactoryDeclarations.types index c986b3b422712..dbbb5c4766773 100644 --- a/tests/baselines/reference/inlineJsxFactoryDeclarations.types +++ b/tests/baselines/reference/inlineJsxFactoryDeclarations.types @@ -28,7 +28,7 @@ import * as React from "./renderer"; >React : typeof React -> : any +> : error >h : any >h : any @@ -39,8 +39,8 @@ import { dom as h } from "./renderer" >h : () => void export const prerendered = ; ->prerendered : any -> : any +>prerendered : error +> : error >h : () => void >h : () => void @@ -50,8 +50,8 @@ import { otherdom } from "./renderer" >otherdom : () => void export const prerendered2 = ; ->prerendered2 : any -> : any +>prerendered2 : error +> : error >h : any >h : any @@ -60,8 +60,8 @@ import React from "./renderer" >React : () => void export const prerendered3 = ; ->prerendered3 : any -> : any +>prerendered3 : error +> : error >h : any >h : any @@ -71,7 +71,7 @@ import { dom } from "./renderer" >dom : () => void -> : any +> : error >h : any >h : any diff --git a/tests/baselines/reference/inlineJsxFactoryOverridesCompilerOption.types b/tests/baselines/reference/inlineJsxFactoryOverridesCompilerOption.types index 06503c4b11f17..7f119837eb8a9 100644 --- a/tests/baselines/reference/inlineJsxFactoryOverridesCompilerOption.types +++ b/tests/baselines/reference/inlineJsxFactoryOverridesCompilerOption.types @@ -22,7 +22,7 @@ import {dom} from "./renderer"; >dom : () => void -> : any +> : error >h : any >h : any @@ -31,7 +31,7 @@ import { p } from "./renderer"; >p : () => void -> : any +> : error >h : any >h : any diff --git a/tests/baselines/reference/internalImportUnInstantiatedModuleNotReferencingInstanceNoConflict.types b/tests/baselines/reference/internalImportUnInstantiatedModuleNotReferencingInstanceNoConflict.types index 6f366d2b0be7c..4002022143df7 100644 --- a/tests/baselines/reference/internalImportUnInstantiatedModuleNotReferencingInstanceNoConflict.types +++ b/tests/baselines/reference/internalImportUnInstantiatedModuleNotReferencingInstanceNoConflict.types @@ -13,6 +13,6 @@ module B { import Y = A; >Y : any ->A : any +>A : error } diff --git a/tests/baselines/reference/jsFileClassPropertyInitalizationInObjectLiteral.types b/tests/baselines/reference/jsFileClassPropertyInitalizationInObjectLiteral.types index dc24aeae8597d..3a915508dde7b 100644 --- a/tests/baselines/reference/jsFileClassPropertyInitalizationInObjectLiteral.types +++ b/tests/baselines/reference/jsFileClassPropertyInitalizationInObjectLiteral.types @@ -15,7 +15,7 @@ module.exports = function () { c: A.b = 1, >c : number >A.b = 1 : 1 ->A.b : any +>A.b : error >A : typeof A >b : any >1 : 1 diff --git a/tests/baselines/reference/jsFileClassSelfReferencedProperty.types b/tests/baselines/reference/jsFileClassSelfReferencedProperty.types index 204eee67c9707..d5c2fe39c9fce 100644 --- a/tests/baselines/reference/jsFileClassSelfReferencedProperty.types +++ b/tests/baselines/reference/jsFileClassSelfReferencedProperty.types @@ -4,11 +4,11 @@ export class StackOverflowTest { constructor () { this.testStackOverflow = this.testStackOverflow.bind(this) ->this.testStackOverflow = this.testStackOverflow.bind(this) : any +>this.testStackOverflow = this.testStackOverflow.bind(this) : error >this.testStackOverflow : any >this : this >testStackOverflow : any ->this.testStackOverflow.bind(this) : any +>this.testStackOverflow.bind(this) : error >this.testStackOverflow.bind : any >this.testStackOverflow : any >this : this diff --git a/tests/baselines/reference/jsFileCompilationDecoratorSyntax.types b/tests/baselines/reference/jsFileCompilationDecoratorSyntax.types index ee1f14129d5fb..8650affb293a8 100644 --- a/tests/baselines/reference/jsFileCompilationDecoratorSyntax.types +++ b/tests/baselines/reference/jsFileCompilationDecoratorSyntax.types @@ -1,5 +1,5 @@ === tests/cases/compiler/a.js === @internal class C { } ->internal : any +>internal : error >C : C diff --git a/tests/baselines/reference/jsFileCompilationExternalPackageError.types b/tests/baselines/reference/jsFileCompilationExternalPackageError.types index 269d8f5cf9d1e..c07527fa4568f 100644 --- a/tests/baselines/reference/jsFileCompilationExternalPackageError.types +++ b/tests/baselines/reference/jsFileCompilationExternalPackageError.types @@ -4,14 +4,14 @@ import {a} from "b"; a++; >a++ : number ->a : any +>a : error import {c} from "c"; >c : any c++; >c++ : number ->c : any +>c : error === tests/cases/compiler/node_modules/b.ts === var a = 10; @@ -28,6 +28,6 @@ exports.a = 10; c = 10; >c = 10 : 10 ->c : any +>c : error >10 : 10 diff --git a/tests/baselines/reference/jsxEmitAttributeWithPreserve.types b/tests/baselines/reference/jsxEmitAttributeWithPreserve.types index 1f6cc13bd08c0..07879f5237e4a 100644 --- a/tests/baselines/reference/jsxEmitAttributeWithPreserve.types +++ b/tests/baselines/reference/jsxEmitAttributeWithPreserve.types @@ -3,7 +3,7 @@ declare var React: any; >React : any -> : any +> : error >foo : any >data : true diff --git a/tests/baselines/reference/jsxEmitWithAttributes.types b/tests/baselines/reference/jsxEmitWithAttributes.types index 12e231874b6b8..881bfe71ae1f2 100644 --- a/tests/baselines/reference/jsxEmitWithAttributes.types +++ b/tests/baselines/reference/jsxEmitWithAttributes.types @@ -105,13 +105,13 @@ class A { >[ , ] : any[] , -> : any +> : error >meta : any >content : string >meta : any -> : any +> : error >meta : any >content : string >c.a!.b : string diff --git a/tests/baselines/reference/jsxFactoryIdentifier.types b/tests/baselines/reference/jsxFactoryIdentifier.types index 664a061189391..ddb83d56516db 100644 --- a/tests/baselines/reference/jsxFactoryIdentifier.types +++ b/tests/baselines/reference/jsxFactoryIdentifier.types @@ -111,13 +111,13 @@ class A { >[ , ] : any[] , -> : any +> : error >meta : any >content : string >meta : any -> : any +> : error >meta : any >content : string >c.a!.b : string diff --git a/tests/baselines/reference/jsxFactoryIdentifierAsParameter.types b/tests/baselines/reference/jsxFactoryIdentifierAsParameter.types index 80d453913f4cd..bf7c6cebc4caa 100644 --- a/tests/baselines/reference/jsxFactoryIdentifierAsParameter.types +++ b/tests/baselines/reference/jsxFactoryIdentifierAsParameter.types @@ -14,7 +14,7 @@ export class AppComponent { >createElement : any return
; ->
: any +>
: error >div : any } } diff --git a/tests/baselines/reference/jsxFactoryQualifiedName.types b/tests/baselines/reference/jsxFactoryQualifiedName.types index 12e231874b6b8..881bfe71ae1f2 100644 --- a/tests/baselines/reference/jsxFactoryQualifiedName.types +++ b/tests/baselines/reference/jsxFactoryQualifiedName.types @@ -105,13 +105,13 @@ class A { >[ , ] : any[] , -> : any +> : error >meta : any >content : string >meta : any -> : any +> : error >meta : any >content : string >c.a!.b : string diff --git a/tests/baselines/reference/jsxFactoryQualifiedNameWithEs5.types b/tests/baselines/reference/jsxFactoryQualifiedNameWithEs5.types index 6f6ae3f2d5849..9b5028ccfec37 100644 --- a/tests/baselines/reference/jsxFactoryQualifiedNameWithEs5.types +++ b/tests/baselines/reference/jsxFactoryQualifiedNameWithEs5.types @@ -19,7 +19,7 @@ class Component { >renderCallback : () => any return
test
; ->
test
: any +>
test
: error >div : any >div : any } diff --git a/tests/baselines/reference/jsxHash.types b/tests/baselines/reference/jsxHash.types index 41f89c4b0870a..2ce58ecb2ae98 100644 --- a/tests/baselines/reference/jsxHash.types +++ b/tests/baselines/reference/jsxHash.types @@ -1,89 +1,89 @@ === tests/cases/compiler/jsxHash.tsx === var t02 = {0}#; ->t02 : any ->{0}# : any +>t02 : error +>{0}# : error >a : any >0 : 0 >a : any var t03 = #{0}; ->t03 : any ->#{0} : any +>t03 : error +>#{0} : error >a : any >0 : 0 >a : any var t04 = #{0}#; ->t04 : any ->#{0}# : any +>t04 : error +>#{0}# : error >a : any >0 : 0 >a : any var t05 = #; ->t05 : any -># : any +>t05 : error +># : error >a : any -> : any +> : error >i : any >i : any >a : any var t06 = #; ->t06 : any -># : any +>t06 : error +># : error >a : any -> : any +> : error >i : any >i : any >a : any var t07 = ##; ->t07 : any ->## : any +>t07 : error +>## : error >a : any -># : any +># : error >i : any >i : any >a : any var t08 = #; ->t08 : any -># : any +>t08 : error +># : error >a : any -> : any +> : error >i : any >i : any >a : any var t09 = ##; ->t09 : any ->## : any +>t09 : error +>## : error >a : any -> : any +> : error >i : any >i : any >a : any var t10 = #; ->t10 : any -># : any +>t10 : error +># : error >a : any -> : any +> : error >i : any >a : any var t11 = #; ->t11 : any -># : any +>t11 : error +># : error >a : any -> : any +> : error >i : any >a : any var t12 = #; ->t12 : any -># : any +>t12 : error +># : error >a : any >a : any diff --git a/tests/baselines/reference/jsxImportInAttribute.types b/tests/baselines/reference/jsxImportInAttribute.types index 92997d99399af..fa0ecd295814a 100644 --- a/tests/baselines/reference/jsxImportInAttribute.types +++ b/tests/baselines/reference/jsxImportInAttribute.types @@ -8,7 +8,7 @@ let x = Test; // emit test_1.default >Test : typeof Test ; // ? -> : any +> : error >anything : any >attr : typeof Test >Test : typeof Test diff --git a/tests/baselines/reference/jsxInExtendsClause.types b/tests/baselines/reference/jsxInExtendsClause.types index 9b059f54c8fa5..7f8de51b0817b 100644 --- a/tests/baselines/reference/jsxInExtendsClause.types +++ b/tests/baselines/reference/jsxInExtendsClause.types @@ -27,7 +27,7 @@ class Foo extends createComponentClass(() => class extends React.Component<{}, { >render : () => any return Hello, world!; ->Hello, world! : any +>Hello, world! : error >span : any >span : any } diff --git a/tests/baselines/reference/jsxMultilineAttributeStringValues.types b/tests/baselines/reference/jsxMultilineAttributeStringValues.types index b9e1b99267f49..75892b8b76a37 100644 --- a/tests/baselines/reference/jsxMultilineAttributeStringValues.types +++ b/tests/baselines/reference/jsxMultilineAttributeStringValues.types @@ -1,7 +1,7 @@ === tests/cases/compiler/jsxMultilineAttributeStringValues.tsx === const a = : any +>a : error +> : error >input : any >value : string @@ -10,8 +10,8 @@ const a = a : any -> : any +>a : error +> : error >input : any >value : string @@ -13,8 +13,8 @@ foo: 23 >input : any const b = : any +>b : error +> : error >input : any >value : string @@ -23,8 +23,8 @@ foo: 23 >input : any const c = : any +>c : error +> : error >input : any >value : string diff --git a/tests/baselines/reference/jsxNestedWithinTernaryParsesCorrectly.types b/tests/baselines/reference/jsxNestedWithinTernaryParsesCorrectly.types index 0daa04fc39fed..300c5dda66a12 100644 --- a/tests/baselines/reference/jsxNestedWithinTernaryParsesCorrectly.types +++ b/tests/baselines/reference/jsxNestedWithinTernaryParsesCorrectly.types @@ -5,11 +5,11 @@ const emptyMessage = null as any; >null : null const a = ( ->a : any ->(
{0 ? ( emptyMessage // must be identifier? ) : ( // must be exactly two expression holes {0}{0} )}
) : any +>a : error +>(
{0 ? ( emptyMessage // must be identifier? ) : ( // must be exactly two expression holes {0}{0} )}
) : error
->
{0 ? ( emptyMessage // must be identifier? ) : ( // must be exactly two expression holes {0}{0} )}
: any +>
{0 ? ( emptyMessage // must be identifier? ) : ( // must be exactly two expression holes {0}{0} )}
: error >div : any {0 ? ( @@ -21,11 +21,11 @@ const a = ( >emptyMessage : any ) : ( ->( // must be exactly two expression holes {0}{0} ) : any +>( // must be exactly two expression holes {0}{0} ) : error // must be exactly two expression holes -> {0}{0} : any +> {0}{0} : error >span : any {0}{0} diff --git a/tests/baselines/reference/jsxPreserveWithJsInput.types b/tests/baselines/reference/jsxPreserveWithJsInput.types index a38d884b4fa50..f57ab1d026121 100644 --- a/tests/baselines/reference/jsxPreserveWithJsInput.types +++ b/tests/baselines/reference/jsxPreserveWithJsInput.types @@ -5,16 +5,16 @@ var elemA = 42; === tests/cases/compiler/b.jsx === var elemB = {"test"}; ->elemB : any ->{"test"} : any +>elemB : error +>{"test"} : error >b : any >"test" : "test" >b : any === tests/cases/compiler/c.js === var elemC = {42}; ->elemC : any ->{42} : any +>elemC : error +>{42} : error >c : any >42 : 42 >c : any @@ -26,8 +26,8 @@ var elemD = 42; === tests/cases/compiler/e.tsx === var elemE = {true}; ->elemE : any ->{true} : any +>elemE : error +>{true} : error >e : any >true : true >e : any diff --git a/tests/baselines/reference/jsxReactTestSuite.types b/tests/baselines/reference/jsxReactTestSuite.types index 28ed2e5960adf..3637a21c2682a 100644 --- a/tests/baselines/reference/jsxReactTestSuite.types +++ b/tests/baselines/reference/jsxReactTestSuite.types @@ -36,12 +36,12 @@ declare var hasOwnProperty:any; >hasOwnProperty : any
text
; ->
text
: any +>
text
: error >div : any >div : any
->
{this.props.children}
: any +>
{this.props.children}
: error >div : any {this.props.children} @@ -55,27 +55,27 @@ declare var hasOwnProperty:any; >div : any
->

{foo}
{bar}

: any +>

{foo}
{bar}

: error >div : any

->

: any +>

: error >div : any ->
: any +>
: error >br : any >div : any {foo}
{bar}
->{foo}
{bar}
: any +>{foo}
{bar}
: error >Component : any >foo : any ->
: any +>
: error >br : any >bar : any >Component : any
->
: any +>
: error >br : any
; @@ -83,7 +83,7 @@ declare var hasOwnProperty:any; -> {this.props.children} : any +> {this.props.children} : error >Composite : any {this.props.children} @@ -97,11 +97,11 @@ declare var hasOwnProperty:any; >Composite : any -> : any +> : error >Composite : any -> : any +> : error >Composite2 : any ; @@ -111,7 +111,7 @@ var x = >x : any
: any +>
: error >div : any attr1={ @@ -159,16 +159,16 @@ var x = >div : any ( ->(
{/* A comment at the beginning */} {/* A second comment at the beginning */} {/* A nested comment */} {/* A sandwiched comment */}
{/* A comment at the end */} {/* A second comment at the end */}
) : any +>(
{/* A comment at the beginning */} {/* A second comment at the beginning */} {/* A nested comment */} {/* A sandwiched comment */}
{/* A comment at the end */} {/* A second comment at the end */}
) : error
->
{/* A comment at the beginning */} {/* A second comment at the beginning */} {/* A nested comment */} {/* A sandwiched comment */}
{/* A comment at the end */} {/* A second comment at the end */}
: any +>
{/* A comment at the beginning */} {/* A second comment at the beginning */} {/* A nested comment */} {/* A sandwiched comment */}
{/* A comment at the end */} {/* A second comment at the end */}
: error >div : any {/* A comment at the beginning */} {/* A second comment at the beginning */} -> {/* A nested comment */} : any +> {/* A nested comment */} : error >span : any {/* A nested comment */} @@ -177,7 +177,7 @@ var x = {/* A sandwiched comment */}
->
: any +>
: error >br : any {/* A comment at the end */} @@ -188,10 +188,10 @@ var x = ); ( ->(
) : any +>(
) : error
: any +>
: error >div : any /* a multi-line @@ -200,7 +200,7 @@ var x = >attr1 : string : any +> : error >span : any attr2="bar" @@ -213,33 +213,33 @@ var x = );
 
; ->
 
: any +>
 
: error >div : any >div : any
 
; ->
 
: any +>
 
: error >div : any >div : any testing; ->testing : any +>testing : error >hasOwnProperty : any >hasOwnProperty : any ; -> : any +> : error >Component : any >constructor : string ; -> : any +> : error >Namespace.Component : any >Namespace : any >Component : any ; -> : any +> : error >Namespace.DeepNamespace.Component : any >Namespace.DeepNamespace : any >Namespace : any @@ -247,7 +247,7 @@ var x = >Component : any : any +> : error >Component : any >x : any >y : number @@ -257,7 +257,7 @@ var x = >z : true : any +> : error >Component : any {...this.props} sound="moo" />; @@ -267,33 +267,33 @@ var x = >sound : string ; -> : any +> : error >font-face : any ; -> : any +> : error >Component : any >x : any >y : any ; -> : any +> : error >x-component : any ; -> : any +> : error >Component : any >x : any ; -> : any +> : error >Component : any >x : any >y : number >2 : 2 ; -> : any +> : error >Component : any >x : any >y : number @@ -301,7 +301,7 @@ var x = >z : true ; -> : any +> : error >Component : any >x : number >1 : 1 @@ -309,19 +309,19 @@ var x = ; -> : any +> : error >Component : any >x : number >1 : 1 >y : string >z : any >z : any -> : any +> : error >Child : any >Component : any Text; ->Text : any +>Text : error >Component : any >x : string >(z = { y: 2 }, z) : any diff --git a/tests/baselines/reference/jsxViaImport.2.types b/tests/baselines/reference/jsxViaImport.2.types index 9a0b40fb72738..a23c388261118 100644 --- a/tests/baselines/reference/jsxViaImport.2.types +++ b/tests/baselines/reference/jsxViaImport.2.types @@ -13,7 +13,7 @@ class TestComponent extends React.Component { >render : () => any return ; -> : any +> : error >BaseComponent : typeof BaseComponent } } diff --git a/tests/baselines/reference/keywordInJsxIdentifier.types b/tests/baselines/reference/keywordInJsxIdentifier.types index 09ae09340de5e..9201bf908645d 100644 --- a/tests/baselines/reference/keywordInJsxIdentifier.types +++ b/tests/baselines/reference/keywordInJsxIdentifier.types @@ -3,22 +3,22 @@ declare var React: any; >React : any ; -> : any +> : error >foo : any >class-id : true ; -> : any +> : error >foo : any >class : true ; -> : any +> : error >foo : any >class-id : string ; -> : any +> : error >foo : any >class : string diff --git a/tests/baselines/reference/methodsReturningThis.types b/tests/baselines/reference/methodsReturningThis.types index 2d754ef9fc87e..b7acb81482232 100644 --- a/tests/baselines/reference/methodsReturningThis.types +++ b/tests/baselines/reference/methodsReturningThis.types @@ -13,7 +13,7 @@ Class.prototype.containsError = function () { return this.notPresent; }; >prototype : any >containsError : any >function () { return this.notPresent; } : () => any ->this.notPresent : any +>this.notPresent : error >this : Class >notPresent : any diff --git a/tests/baselines/reference/misspelledJsDocTypedefTags.types b/tests/baselines/reference/misspelledJsDocTypedefTags.types index 5facd80a2675d..9a42e2d1cd8b0 100644 --- a/tests/baselines/reference/misspelledJsDocTypedefTags.types +++ b/tests/baselines/reference/misspelledJsDocTypedefTags.types @@ -1,7 +1,7 @@ === tests/cases/compiler/a.js === /** @typedef {{ endTime: number, screenshots: number}} A.*/ Animation.AnimationModel.ScreenshotCapture.Request; ->Animation.AnimationModel.ScreenshotCapture.Request : any +>Animation.AnimationModel.ScreenshotCapture.Request : error >Animation.AnimationModel.ScreenshotCapture : any >Animation.AnimationModel : any >Animation : { new (effect?: AnimationEffect, timeline?: AnimationTimeline): Animation; prototype: Animation; } @@ -11,7 +11,7 @@ Animation.AnimationModel.ScreenshotCapture.Request; /** @typedef {{ endTime: number, screenshots: !B.}} */ Animation.AnimationModel.ScreenshotCapture.Request; ->Animation.AnimationModel.ScreenshotCapture.Request : any +>Animation.AnimationModel.ScreenshotCapture.Request : error >Animation.AnimationModel.ScreenshotCapture : any >Animation.AnimationModel : any >Animation : { new (effect?: AnimationEffect, timeline?: AnimationTimeline): Animation; prototype: Animation; } diff --git a/tests/baselines/reference/moduleAugmentationInDependency.types b/tests/baselines/reference/moduleAugmentationInDependency.types index 7dfd3b02a005b..d4d09c61f5389 100644 --- a/tests/baselines/reference/moduleAugmentationInDependency.types +++ b/tests/baselines/reference/moduleAugmentationInDependency.types @@ -1,6 +1,6 @@ === /node_modules/A/index.d.ts === declare module "ext" { ->"ext" : any +>"ext" : error } export {}; diff --git a/tests/baselines/reference/moduleResolution_relativeImportJsFile.types b/tests/baselines/reference/moduleResolution_relativeImportJsFile.types index 051c4dad86158..092de8f92b798 100644 --- a/tests/baselines/reference/moduleResolution_relativeImportJsFile.types +++ b/tests/baselines/reference/moduleResolution_relativeImportJsFile.types @@ -1,4 +1,4 @@ === /src/a.ts === import * as b from "./b"; ->b : any +>b : error diff --git a/tests/baselines/reference/moduledecl.types b/tests/baselines/reference/moduledecl.types index 210b9441a28b2..8d30e6a635b40 100644 --- a/tests/baselines/reference/moduledecl.types +++ b/tests/baselines/reference/moduledecl.types @@ -8,13 +8,13 @@ module b.a { module c.a.b { import ma = a; >ma : any ->a : any +>a : error } module mImport { import d = a; >d : any ->a : any +>a : error import e = b.a; >e : any @@ -23,7 +23,7 @@ module mImport { import d1 = a; >d1 : any ->a : any +>a : error import e1 = b.a; >e1 : any @@ -75,11 +75,11 @@ module m0 { import m2 = a; >m2 : any ->a : any +>a : error import m3 = b; >m3 : any ->b : any +>b : error import m4 = b.a; >m4 : any @@ -88,7 +88,7 @@ module m0 { import m5 = c; >m5 : any ->c : any +>c : error import m6 = c.a; >m6 : any @@ -165,11 +165,11 @@ module m1 { import m2 = a; >m2 : any ->a : any +>a : error import m3 = b; >m3 : any ->b : any +>b : error import m4 = b.a; >m4 : any @@ -178,7 +178,7 @@ module m1 { import m5 = c; >m5 : any ->c : any +>c : error import m6 = c.a; >m6 : any diff --git a/tests/baselines/reference/multipleDeclarations.types b/tests/baselines/reference/multipleDeclarations.types index 16d41cf3ec712..d006f4f6512f1 100644 --- a/tests/baselines/reference/multipleDeclarations.types +++ b/tests/baselines/reference/multipleDeclarations.types @@ -19,8 +19,8 @@ C.prototype.m = function() { >function() { this.nothing();} : () => void this.nothing(); ->this.nothing() : any ->this.nothing : any +>this.nothing() : error +>this.nothing : error >this : C >nothing : any } diff --git a/tests/baselines/reference/packageJsonMain.types b/tests/baselines/reference/packageJsonMain.types index f30bd95f0e543..42104dc61d423 100644 --- a/tests/baselines/reference/packageJsonMain.types +++ b/tests/baselines/reference/packageJsonMain.types @@ -9,9 +9,9 @@ import baz = require("baz"); >baz : any foo + bar + baz; ->foo + bar + baz : any ->foo + bar : any ->foo : any ->bar : any ->baz : any +>foo + bar + baz : error +>foo + bar : error +>foo : error +>bar : error +>baz : error diff --git a/tests/baselines/reference/parserES5ForOfStatement18.types b/tests/baselines/reference/parserES5ForOfStatement18.types index f9544e39a31d1..156ed2c68f306 100644 --- a/tests/baselines/reference/parserES5ForOfStatement18.types +++ b/tests/baselines/reference/parserES5ForOfStatement18.types @@ -1,5 +1,5 @@ === tests/cases/conformance/parser/ecmascript5/Statements/parserES5ForOfStatement18.ts === for (var of of of) { } >of : any ->of : any +>of : error diff --git a/tests/baselines/reference/parserES5ForOfStatement19.types b/tests/baselines/reference/parserES5ForOfStatement19.types index 13abc7ae757b4..cc3a1ed01b195 100644 --- a/tests/baselines/reference/parserES5ForOfStatement19.types +++ b/tests/baselines/reference/parserES5ForOfStatement19.types @@ -1,5 +1,5 @@ === tests/cases/conformance/parser/ecmascript5/Statements/parserES5ForOfStatement19.ts === for (var of in of) { } >of : any ->of : any +>of : error diff --git a/tests/baselines/reference/parserForOfStatement18.types b/tests/baselines/reference/parserForOfStatement18.types index 8e3b52ac87743..3fe8de5b6c10e 100644 --- a/tests/baselines/reference/parserForOfStatement18.types +++ b/tests/baselines/reference/parserForOfStatement18.types @@ -1,5 +1,5 @@ === tests/cases/conformance/parser/ecmascript6/Iterators/parserForOfStatement18.ts === for (var of of of) { } >of : any ->of : any +>of : error diff --git a/tests/baselines/reference/parserForOfStatement19.types b/tests/baselines/reference/parserForOfStatement19.types index 6fcc5e8f79216..04104a9667c0e 100644 --- a/tests/baselines/reference/parserForOfStatement19.types +++ b/tests/baselines/reference/parserForOfStatement19.types @@ -1,5 +1,5 @@ === tests/cases/conformance/parser/ecmascript6/Iterators/parserForOfStatement19.ts === for (var of in of) { } >of : any ->of : any +>of : error diff --git a/tests/baselines/reference/reactImportDropped.types b/tests/baselines/reference/reactImportDropped.types index 5ad8772d05230..f3e8c3987af97 100644 --- a/tests/baselines/reference/reactImportDropped.types +++ b/tests/baselines/reference/reactImportDropped.types @@ -56,11 +56,11 @@ import {layout} from '../../utils/theme'; // <- DO NOT DROP this import >layout : any const x = ; ->x : any -> : any +>x : error +> : error >TabBar : import("tests/cases/compiler/react").ClassicComponentClass ->height : any ->layout.footerHeight : any +>height : error +>layout.footerHeight : error >layout : any >footerHeight : any diff --git a/tests/baselines/reference/reactNamespaceImportPresevation.types b/tests/baselines/reference/reactNamespaceImportPresevation.types index a7596dd6d8227..a6c8264dd774b 100644 --- a/tests/baselines/reference/reactNamespaceImportPresevation.types +++ b/tests/baselines/reference/reactNamespaceImportPresevation.types @@ -17,7 +17,7 @@ declare var foo: any; >foo : any ; -> : any +> : error >foo : any >data : true diff --git a/tests/baselines/reference/reactNamespaceJSXEmit.types b/tests/baselines/reference/reactNamespaceJSXEmit.types index e1d76dbfcec51..71cacc4dd8c54 100644 --- a/tests/baselines/reference/reactNamespaceJSXEmit.types +++ b/tests/baselines/reference/reactNamespaceJSXEmit.types @@ -15,34 +15,34 @@ declare var x: any; >x : any ; -> : any +> : error >foo : any >data : true ; -> : any +> : error >Bar : any >x : any >x : any ; -> : any +> : error >x-component : any ; -> : any +> : error >Bar : any >x : any ; -> : any +> : error >Bar : any >x : any >y : number >2 : 2 <_Bar { ...x } />; -><_Bar { ...x } /> : any +><_Bar { ...x } /> : error >_Bar : any >x : any diff --git a/tests/baselines/reference/reactTransitiveImportHasValidDeclaration.types b/tests/baselines/reference/reactTransitiveImportHasValidDeclaration.types index fbaf253a8c594..b50eb1e30bb9f 100644 --- a/tests/baselines/reference/reactTransitiveImportHasValidDeclaration.types +++ b/tests/baselines/reference/reactTransitiveImportHasValidDeclaration.types @@ -7,12 +7,12 @@ export = React; >React : any export as namespace React; ->React : any +>React : error === tests/cases/compiler/node_modules/create-emotion-styled/types/react/index.d.ts === /// declare module 'react' { // augment ->'react' : any +>'react' : error interface HTMLAttributes { css?: unknown; diff --git a/tests/baselines/reference/recur1.types b/tests/baselines/reference/recur1.types index 83b4dbd598b82..d4893d27b8687 100644 --- a/tests/baselines/reference/recur1.types +++ b/tests/baselines/reference/recur1.types @@ -15,7 +15,7 @@ salt.pepper = function() {} var cobalt = new cobalt.pitch(); >cobalt : any ->new cobalt.pitch() : any +>new cobalt.pitch() : error >cobalt.pitch : any >cobalt : any >pitch : any diff --git a/tests/baselines/reference/recursiveExportAssignmentAndFindAliasedType7.types b/tests/baselines/reference/recursiveExportAssignmentAndFindAliasedType7.types index a5675737c214c..939e7beb79b25 100644 --- a/tests/baselines/reference/recursiveExportAssignmentAndFindAliasedType7.types +++ b/tests/baselines/reference/recursiveExportAssignmentAndFindAliasedType7.types @@ -14,7 +14,7 @@ import self = require("recursiveExportAssignmentAndFindAliasedType7_moduleD"); var selfVar = self; >selfVar : any ->self : any +>self : error export = selfVar; >selfVar : any diff --git a/tests/baselines/reference/reservedNameOnModuleImport.types b/tests/baselines/reference/reservedNameOnModuleImport.types index b7089eca4eeff..91b8f957f5708 100644 --- a/tests/baselines/reference/reservedNameOnModuleImport.types +++ b/tests/baselines/reference/reservedNameOnModuleImport.types @@ -7,6 +7,6 @@ declare module test { // Should be fine; this does not clobber any declared values. export import string = mstring; >string : any ->mstring : any +>mstring : error } diff --git a/tests/baselines/reference/spreadIntersectionJsx.types b/tests/baselines/reference/spreadIntersectionJsx.types index 446bfd11be749..17234b47fb96e 100644 --- a/tests/baselines/reference/spreadIntersectionJsx.types +++ b/tests/baselines/reference/spreadIntersectionJsx.types @@ -15,8 +15,8 @@ let intersected: A & C; >intersected : A & C let element =
; ->element : any ->
: any +>element : error +>
: error >div : any >intersected : A & C diff --git a/tests/baselines/reference/superNoModifiersCrash.types b/tests/baselines/reference/superNoModifiersCrash.types index 231e4a661bbc0..aad2d31eb2a0a 100644 --- a/tests/baselines/reference/superNoModifiersCrash.types +++ b/tests/baselines/reference/superNoModifiersCrash.types @@ -6,8 +6,8 @@ class Parent { >initialize : (...args: any[]) => string super.initialize(...arguments) ->super.initialize(...arguments) : any ->super.initialize : any +>super.initialize(...arguments) : error +>super.initialize : error >super : any >initialize : any >...arguments : any diff --git a/tests/baselines/reference/topLevelThisAssignment.types b/tests/baselines/reference/topLevelThisAssignment.types index 024c360f8ccd6..92bb458b41f46 100644 --- a/tests/baselines/reference/topLevelThisAssignment.types +++ b/tests/baselines/reference/topLevelThisAssignment.types @@ -12,7 +12,7 @@ this.a; >a : any a; ->a : any +>a : error === tests/cases/conformance/salsa/b.js === this.a; @@ -21,5 +21,5 @@ this.a; >a : any a; ->a : any +>a : error diff --git a/tests/baselines/reference/tsxAttributeResolution13.types b/tests/baselines/reference/tsxAttributeResolution13.types index c523c8a40d042..21decc71854c2 100644 --- a/tests/baselines/reference/tsxAttributeResolution13.types +++ b/tests/baselines/reference/tsxAttributeResolution13.types @@ -3,7 +3,7 @@ function Test() { } >Test : () => void -> : any +> : error >Test : () => void >Test : () => void diff --git a/tests/baselines/reference/tsxAttributesHasInferrableIndex.types b/tests/baselines/reference/tsxAttributesHasInferrableIndex.types index 2f98c243ef540..25e76e39628ac 100644 --- a/tests/baselines/reference/tsxAttributesHasInferrableIndex.types +++ b/tests/baselines/reference/tsxAttributesHasInferrableIndex.types @@ -29,8 +29,8 @@ function Button(attributes: Attributes | undefined, contents: string[]) { >'' : "" } const b = ->b : any -> : any +>b : error +> : error >Button : (attributes: Attributes | undefined, contents: string[]) => string >Button : (attributes: Attributes | undefined, contents: string[]) => string diff --git a/tests/baselines/reference/tsxCorrectlyParseLessThanComparison1.types b/tests/baselines/reference/tsxCorrectlyParseLessThanComparison1.types index 7125ec03946c6..dfb764693d619 100644 --- a/tests/baselines/reference/tsxCorrectlyParseLessThanComparison1.types +++ b/tests/baselines/reference/tsxCorrectlyParseLessThanComparison1.types @@ -41,8 +41,8 @@ export class ShortDetails extends React.Component<{ id: number }, {}> { >1 : 1 return (
); ->(
) : any ->
: any +>(
) : error +>
: error >div : any >div : any } diff --git a/tests/baselines/reference/tsxDynamicTagName1.types b/tests/baselines/reference/tsxDynamicTagName1.types index 716c2569e3b20..a686e7f43e620 100644 --- a/tests/baselines/reference/tsxDynamicTagName1.types +++ b/tests/baselines/reference/tsxDynamicTagName1.types @@ -4,7 +4,7 @@ var CustomTag = "h1"; >"h1" : "h1" Hello World // No error -> Hello World : any +> Hello World : error >CustomTag : string >CustomTag : string diff --git a/tests/baselines/reference/tsxDynamicTagName5.types b/tests/baselines/reference/tsxDynamicTagName5.types index 51a72c5e848cc..ea57c600a4f76 100644 --- a/tests/baselines/reference/tsxDynamicTagName5.types +++ b/tests/baselines/reference/tsxDynamicTagName5.types @@ -24,10 +24,10 @@ export class Text extends React.Component<{}, {}> { >render : () => any return ( ->( ) : any +>( ) : error -> : any +> : error >this._tagName : string >this : this >_tagName : string diff --git a/tests/baselines/reference/tsxDynamicTagName8.types b/tests/baselines/reference/tsxDynamicTagName8.types index 8d738701cf0a8..cb3b50f1c2476 100644 --- a/tests/baselines/reference/tsxDynamicTagName8.types +++ b/tests/baselines/reference/tsxDynamicTagName8.types @@ -24,10 +24,10 @@ export class Text extends React.Component<{}, {}> { >render : () => any return ( ->( Hello world ) : any +>( Hello world ) : error Hello world -> Hello world : any +> Hello world : error >this._tagName : string >this : this >_tagName : string diff --git a/tests/baselines/reference/tsxDynamicTagName9.types b/tests/baselines/reference/tsxDynamicTagName9.types index d96b63f9e7b69..978f0a926cce2 100644 --- a/tests/baselines/reference/tsxDynamicTagName9.types +++ b/tests/baselines/reference/tsxDynamicTagName9.types @@ -24,10 +24,10 @@ export class Text extends React.Component<{}, {}> { >render : () => any return ( ->( Hello world ) : any +>( Hello world ) : error Hello world -> Hello world : any +> Hello world : error >this._tagName : "div" >this : this >_tagName : "div" diff --git a/tests/baselines/reference/tsxElementResolution.types b/tests/baselines/reference/tsxElementResolution.types index 19204bae19d2f..3bad161f46fc9 100644 --- a/tests/baselines/reference/tsxElementResolution.types +++ b/tests/baselines/reference/tsxElementResolution.types @@ -28,27 +28,27 @@ module Dotted { // Should find the intrinsic element, not the class element var a = ; ->a : any -> : any +>a : error +> : error >foundFirst : typeof foundFirst >x : string var b = ; ->b : any -> : any +>b : error +> : error >string_named : any // TODO: This should not be a parse error (should // parse a property name here, not identifier) // var c = ; var d = ; ->d : any -> : any +>d : error +> : error >Other : typeof Other var e = ; ->e : any -> : any +>e : error +> : error >Dotted.Name : typeof Dotted.Name >Dotted : typeof Dotted >Name : typeof Dotted.Name diff --git a/tests/baselines/reference/tsxElementResolution19.types b/tests/baselines/reference/tsxElementResolution19.types index 86e9c3966072d..d1162b3a72c41 100644 --- a/tests/baselines/reference/tsxElementResolution19.types +++ b/tests/baselines/reference/tsxElementResolution19.types @@ -20,6 +20,6 @@ import {MyClass} from './file1'; >MyClass : typeof MyClass ; -> : any +> : error >MyClass : typeof MyClass diff --git a/tests/baselines/reference/tsxExternalModuleEmit1.types b/tests/baselines/reference/tsxExternalModuleEmit1.types index 6e8d86d8f7336..2c915b162284c 100644 --- a/tests/baselines/reference/tsxExternalModuleEmit1.types +++ b/tests/baselines/reference/tsxExternalModuleEmit1.types @@ -24,7 +24,7 @@ export class App extends React.Component { >render : () => any return ; -> : any +> : error >button : any >button : any } diff --git a/tests/baselines/reference/tsxExternalModuleEmit2.types b/tests/baselines/reference/tsxExternalModuleEmit2.types index 3324fcc1c8bbc..3766125f4e05c 100644 --- a/tests/baselines/reference/tsxExternalModuleEmit2.types +++ b/tests/baselines/reference/tsxExternalModuleEmit2.types @@ -19,7 +19,7 @@ declare var Foo, React; // Should see mod_1['default'] in emit here ; -> : any +> : error >Foo : any >handler : any >Main : any @@ -27,7 +27,7 @@ declare var Foo, React; // Should see mod_1['default'] in emit here ; -> : any +> : error >Foo : any >Main : any >Foo : any diff --git a/tests/baselines/reference/tsxNoJsx.types b/tests/baselines/reference/tsxNoJsx.types index 40a2d2609df70..87794c7dab8bd 100644 --- a/tests/baselines/reference/tsxNoJsx.types +++ b/tests/baselines/reference/tsxNoJsx.types @@ -1,5 +1,5 @@ === tests/cases/conformance/jsx/tsxNoJsx.tsx === ; -> : any +> : error >nope : any diff --git a/tests/baselines/reference/tsxPreserveEmit1.types b/tests/baselines/reference/tsxPreserveEmit1.types index 812f1a4b8dc95..f4497ecb5051c 100644 --- a/tests/baselines/reference/tsxPreserveEmit1.types +++ b/tests/baselines/reference/tsxPreserveEmit1.types @@ -12,8 +12,8 @@ import Route = ReactRouter.Route; >Route : any var routes1 = ; ->routes1 : any -> : any +>routes1 : error +> : error >Route : any module M { @@ -27,8 +27,8 @@ module M { // Should emit 'M.X' in both opening and closing tags var y = ; ->y : any -> : any +>y : error +> : error >X : any >X : any } diff --git a/tests/baselines/reference/tsxPreserveEmit2.types b/tests/baselines/reference/tsxPreserveEmit2.types index 9e5aac6600c08..a27fafa617b07 100644 --- a/tests/baselines/reference/tsxPreserveEmit2.types +++ b/tests/baselines/reference/tsxPreserveEmit2.types @@ -3,7 +3,7 @@ var Route: any; >Route : any var routes1 = ; ->routes1 : any -> : any +>routes1 : error +> : error >Route : any diff --git a/tests/baselines/reference/tsxReactEmitNesting.types b/tests/baselines/reference/tsxReactEmitNesting.types index 46c55667e4afd..a8d10ff6680e4 100644 --- a/tests/baselines/reference/tsxReactEmitNesting.types +++ b/tests/baselines/reference/tsxReactEmitNesting.types @@ -16,22 +16,22 @@ let render = (ctrl, model) => >model : any
->

todos <x>

    {model.filteredTodos.map((todo) =>
  • {(!todo.editable) ? : null }
  • )}
: any +>

todos <x>

    {model.filteredTodos.map((todo) =>
  • {(!todo.editable) ? : null }
  • )}
: error >section : any >class : string
->

todos <x>

: any +>

todos <x>

: error >header : any >class : string

todos <x>

->

todos <x>

: any +>

todos <x>

: error >h1 : any >h1 : any -> : any +> : error >input : any >class : string >autofocus : true @@ -55,7 +55,7 @@ let render = (ctrl, model) => >header : any
->
    {model.filteredTodos.map((todo) =>
  • {(!todo.editable) ? : null }
  • )}
: any +>
    {model.filteredTodos.map((todo) =>
  • {(!todo.editable) ? : null }
  • )}
: error >section : any >class : string >style : { display: string; } @@ -76,7 +76,7 @@ let render = (ctrl, model) => >"none" : "none" -> : any +> : error >input : any >class : string >type : string @@ -90,7 +90,7 @@ let render = (ctrl, model) => >ctrl : any
    ->
      {model.filteredTodos.map((todo) =>
    • {(!todo.editable) ? : null }
    • )}
    : any +>
      {model.filteredTodos.map((todo) =>
    • {(!todo.editable) ? : null }
    • )}
    : error >ul : any >class : string @@ -105,7 +105,7 @@ let render = (ctrl, model) => >todo : any
  • ->
  • {(!todo.editable) ? : null }
  • : any +>
  • {(!todo.editable) ? : null }
  • : error >li : any >class : { todo: boolean; completed: any; editing: boolean; } >{todo: true, completed: todo.completed, editing: todo == model.editedTodo} : { todo: boolean; completed: any; editing: boolean; } @@ -123,7 +123,7 @@ let render = (ctrl, model) => >editedTodo : any
    ->
    {(!todo.editable) ? : null }
    : any +>
    {(!todo.editable) ? : null }
    : error >div : any >class : string @@ -136,7 +136,7 @@ let render = (ctrl, model) => >editable : any -> : any +> : error >input : any >class : string >type : string @@ -146,7 +146,7 @@ let render = (ctrl, model) => >null : null } -> : any +> : error >label : any >onDoubleClick : () => void >()=>{ctrl.editTodo(todo)} : () => void @@ -161,7 +161,7 @@ let render = (ctrl, model) => >label : any -> : any +> : error >button : any >class : string >onClick : any @@ -176,12 +176,12 @@ let render = (ctrl, model) => >button : any
    ->
    : any +>
    : error >div : any >class : string
    ->
    : any +>
    : error >div : any >class : string diff --git a/tests/baselines/reference/tsxUnionSpread.types b/tests/baselines/reference/tsxUnionSpread.types index d674d059ddd00..f03fef7837730 100644 --- a/tests/baselines/reference/tsxUnionSpread.types +++ b/tests/baselines/reference/tsxUnionSpread.types @@ -43,8 +43,8 @@ var props:AnimalInfo = getProps(); >getProps : () => AnimalInfo var component = ->component : any -> : any +>component : error +> : error >AnimalComponent : (info: AnimalInfo) => JSX.Element >props : AnimalInfo @@ -57,8 +57,8 @@ var props2:AnimalInfo = { type: 'Cat', subType: 'Large' }; >'Large' : "Large" var component2 = ->component2 : any -> : any +>component2 : error +> : error >AnimalComponent : (info: AnimalInfo) => JSX.Element >props2 : CatInfo diff --git a/tests/baselines/reference/typeFromPropertyAssignment8.types b/tests/baselines/reference/typeFromPropertyAssignment8.types index c3cf6ed9121d0..349d2a60abd8d 100644 --- a/tests/baselines/reference/typeFromPropertyAssignment8.types +++ b/tests/baselines/reference/typeFromPropertyAssignment8.types @@ -49,7 +49,7 @@ my.app.Application() var min = window.min || {}; >min : typeof min >window.min || {} : any ->window.min : any +>window.min : error >window : Window >min : any >{} : {} diff --git a/tests/baselines/reference/typeFromPropertyAssignment9.types b/tests/baselines/reference/typeFromPropertyAssignment9.types index 88b9a862c7ec3..b212f12bb17bd 100644 --- a/tests/baselines/reference/typeFromPropertyAssignment9.types +++ b/tests/baselines/reference/typeFromPropertyAssignment9.types @@ -146,7 +146,7 @@ my.predicate.type = class { var min = window.min || {}; >min : typeof min >window.min || {} : any ->window.min : any +>window.min : error >window : Window >min : any >{} : {} @@ -172,7 +172,7 @@ min.nest.other = self.min.nest.other || class { }; >nest : { (): void; other: typeof other; } >other : typeof other >self.min.nest.other || class { } : typeof other ->self.min.nest.other : any +>self.min.nest.other : error >self.min.nest : any >self.min : any >self : Window @@ -187,7 +187,7 @@ min.property = global.min.property || {}; >min : typeof min >property : {} >global.min.property || {} : {} ->global.min.property : any +>global.min.property : error >global.min : any >global : any >min : any diff --git a/tests/baselines/reference/untypedModuleImport.types b/tests/baselines/reference/untypedModuleImport.types index 8a0c7e97ede11..62711b9a6712b 100644 --- a/tests/baselines/reference/untypedModuleImport.types +++ b/tests/baselines/reference/untypedModuleImport.types @@ -6,18 +6,18 @@ import foo, { bar } from "foo"; import "./a"; import "./b"; foo(bar()); ->foo(bar()) : any ->foo : any ->bar() : any ->bar : any +>foo(bar()) : error +>foo : error +>bar() : error +>bar : error === /a.ts === import * as foo from "foo"; ->foo : any +>foo : error foo.bar(); ->foo.bar() : any ->foo.bar : any +>foo.bar() : error +>foo.bar : error >foo : any >bar : any @@ -26,6 +26,6 @@ import foo = require("foo"); >foo : any foo(); ->foo() : any ->foo : any +>foo() : error +>foo : error diff --git a/tests/baselines/reference/unusedImports13.types b/tests/baselines/reference/unusedImports13.types index 4b3b238804c0d..0a30f50c06484 100644 --- a/tests/baselines/reference/unusedImports13.types +++ b/tests/baselines/reference/unusedImports13.types @@ -3,8 +3,8 @@ import React = require("react"); >React : typeof React export const FooComponent =
    ->FooComponent : any ->
    : any +>FooComponent : error +>
    : error >div : any >div : any diff --git a/tests/baselines/reference/unusedImports14.types b/tests/baselines/reference/unusedImports14.types index 4b3b238804c0d..0a30f50c06484 100644 --- a/tests/baselines/reference/unusedImports14.types +++ b/tests/baselines/reference/unusedImports14.types @@ -3,8 +3,8 @@ import React = require("react"); >React : typeof React export const FooComponent =
    ->FooComponent : any ->
    : any +>FooComponent : error +>
    : error >div : any >div : any diff --git a/tests/baselines/reference/unusedImports15.types b/tests/baselines/reference/unusedImports15.types index 770c1611bbee9..6ccf17df5ec35 100644 --- a/tests/baselines/reference/unusedImports15.types +++ b/tests/baselines/reference/unusedImports15.types @@ -3,8 +3,8 @@ import Element = require("react"); >Element : typeof Element export const FooComponent =
    ->FooComponent : any ->
    : any +>FooComponent : error +>
    : error >div : any >div : any diff --git a/tests/baselines/reference/unusedImports16.types b/tests/baselines/reference/unusedImports16.types index 770c1611bbee9..6ccf17df5ec35 100644 --- a/tests/baselines/reference/unusedImports16.types +++ b/tests/baselines/reference/unusedImports16.types @@ -3,8 +3,8 @@ import Element = require("react"); >Element : typeof Element export const FooComponent =
    ->FooComponent : any ->
    : any +>FooComponent : error +>
    : error >div : any >div : any