From b895614c5561b85cd87c6f8b8e5f7d0dda3f7e3c Mon Sep 17 00:00:00 2001 From: Andy Date: Tue, 31 Jul 2018 15:02:41 -0700 Subject: [PATCH] Avoid trying to write the type of non-values (#25626) --- src/harness/typeWriter.ts | 6 + .../baselines/reference/1.0lib-noErrors.types | 173 - tests/baselines/reference/2dArrays.types | 2 - .../baselines/reference/ArrowFunction1.types | 1 - ...duleMemberThatUsesClassTypeParameter.types | 14 - ...ericClassStaticFunctionOfTheSameName.types | 8 - ...ericClassStaticFunctionOfTheSameName.types | 6 - ...aticFunctionUsingClassPrivateStatics.types | 5 - ...ionAndExportedFunctionThatShareAName.types | 2 - ...AndNonExportedFunctionThatShareAName.types | 2 - ...VariableAndExportedVarThatShareAName.types | 2 - ...iableAndNonExportedVarThatShareAName.types | 2 - .../reference/ClassDeclaration25.types | 8 - .../DeclarationErrorsNoEmitOnError.types | 3 - .../reference/ES5For-ofTypeCheck13.types | 1 - .../reference/ES5For-ofTypeCheck14.types | 1 - .../reference/ES5SymbolProperty1.types | 3 - ...umAndModuleWithSameNameAndCommonRoot.types | 1 - ...ExtendsInterfaceWithInaccessibleType.types | 5 - ...assHeritageListMemberTypeAnnotations.types | 6 - ...cessibleTypeInIndexerTypeAnnotations.types | 2 - ...essibleTypeInTypeParameterConstraint.types | 9 - ...esInParameterAndReturnTypeAnnotation.types | 4 - ...ssibleTypesInParameterTypeAnnotation.types | 4 - ...ccessibleTypesInReturnTypeAnnotation.types | 4 - ...assHeritageListMemberTypeAnnotations.types | 15 - ...cessibleTypeInIndexerTypeAnnotations.types | 6 - ...essibleTypeInTypeParameterConstraint.types | 15 - ...hAccessibleTypesOnItsExportedMembers.types | 4 - ...cessibleTypesInMemberTypeAnnotations.types | 1 - ...leTypesInNestedMemberTypeAnnotations.types | 4 - ...peWithInaccessibleTypeAsTypeArgument.types | 3 - ...leWithAccessibleTypeInTypeAnnotation.types | 3 - ...WithInaccessibleTypeInTypeAnnotation.types | 7 - .../reference/FunctionDeclaration13_es6.types | 1 - .../FunctionPropertyAssignments6_es6.types | 1 - .../reference/InterfaceDeclaration8.types | 4 +- .../InvalidNonInstantiatedModule.types | 3 - .../MemberFunctionDeclaration7_es6.types | 1 - ...duleAndEnumWithSameNameAndCommonRoot.types | 1 - ...uleWithExportedAndNonExportedClasses.types | 8 - ...oduleWithExportedAndNonExportedEnums.types | 1 - ...eWithExportedAndNonExportedFunctions.types | 12 - ...ithExportedAndNonExportedImportAlias.types | 12 - ...NonInitializedExportInInternalModule.types | 4 - .../baselines/reference/ParameterList13.types | 2 - .../baselines/reference/ParameterList5.types | 1 - tests/baselines/reference/Protected2.types | 4 +- tests/baselines/reference/Protected8.types | 2 - ...edAndNonExportedClassesOfTheSameName.types | 3 - ...ndNonExportedInterfacesOfTheSameName.types | 32 - ...AndNonExportedLocalVarsOfTheSameName.types | 12 - ...hWithExportedInterfacesOfTheSameName.types | 35 - ...chWithExportedLocalVarsOfTheSameName.types | 9 - ...EachWithExportedModulesOfTheSameName.types | 1 - ...ithTheSameNameAndDifferentCommonRoot.types | 8 - ...ulesWithTheSameNameAndSameCommonRoot.types | 12 - .../reference/TypeGuardWithArrayUnion.types | 2 - .../reference/TypeGuardWithEnumUnion.types | 5 - .../abstractInterfaceIdentifierName.types | 2 - .../reference/abstractProperty.types | 3 - .../abstractPropertyInConstructor.types | 2 - .../reference/abstractPropertyNegative.types | 3 - .../reference/acceptableAlias1.types | 1 - .../accessorsAreNotContextuallyTyped.types | 1 - tests/baselines/reference/accessorsEmit.types | 1 - ...accessors_spec_section-4.5_inference.types | 4 - ...addMoreCallSignaturesToBaseSignature.types | 6 - ...ddMoreCallSignaturesToBaseSignature2.types | 6 - .../addMoreOverloadsToBaseSignature.types | 5 - .../additionOperatorWithAnyAndEveryType.types | 1 - ...OperatorWithConstrainedTypeParameter.types | 12 - .../additionOperatorWithInvalidOperands.types | 2 - ...ratorWithNullValueAndInvalidOperator.types | 2 - ...peratorWithNullValueAndValidOperator.types | 1 - .../additionOperatorWithNumberAndEnum.types | 3 - ...ditionOperatorWithStringAndEveryType.types | 2 - .../additionOperatorWithTypeParameter.types | 6 - ...WithUndefinedValueAndInvalidOperands.types | 2 - ...orWithUndefinedValueAndValidOperator.types | 1 - tests/baselines/reference/aliasBug.types | 3 - tests/baselines/reference/aliasErrors.types | 3 - .../reference/aliasInaccessibleModule.types | 1 - .../aliasOnMergedModuleInterface.types | 8 - .../aliasUsageInAccessorsOfClass.types | 3 - .../reference/aliasUsageInArray.types | 3 - .../aliasUsageInFunctionExpression.types | 3 - .../aliasUsageInGenericFunction.types | 6 - .../aliasUsageInIndexerOfClass.types | 4 - .../reference/aliasUsageInObjectLiteral.types | 4 - .../reference/aliasUsageInOrExpression.types | 9 - ...asUsageInTypeArgumentOfExtendsClause.types | 6 - .../reference/aliasUsageInVarAssignment.types | 3 - ...ExportAssignmentUsedInVarInitializer.types | 2 - .../allowImportClausesToMergeWithTypes.types | 5 - .../allowJscheckJsTypeParameterNoCrash.types | 8 - ...mportsCanPaintCrossModuleDeclaration.types | 3 - .../ambientClassDeclarationWithExtends.types | 2 - ...entClassMergesOverloadsWithInterface.types | 2 - .../reference/ambientConstLiterals.types | 3 - .../reference/ambientDeclarations.types | 3 - tests/baselines/reference/ambientErrors.types | 2 - ...mbientExternalModuleInsideNonAmbient.types | 2 - ...ithRelativeExternalImportDeclaration.types | 1 - .../reference/ambientInsideNonAmbient.types | 2 - ...mbientInsideNonAmbientExternalModule.types | 2 - .../ambiguousGenericAssertion1.types | 8 - .../ambiguousOverloadResolution.types | 5 - .../amdDeclarationEmitNoExtraDeclare.types | 6 - .../amdImportNotAsPrimaryExpression.types | 10 - .../reference/anyAsGenericFunctionCall.types | 1 - .../anyAssignabilityInInheritance.types | 27 - .../reference/anyAssignableToEveryType.types | 20 - .../reference/anyAssignableToEveryType2.types | 58 - .../reference/anyIsAssignableToObject.types | 5 - .../reference/anyIsAssignableToVoid.types | 5 - .../reference/anyMappedTypesError.types | 1 - .../reference/apparentTypeSubtyping.types | 10 - .../reference/apparentTypeSupertype.types | 3 - .../reference/argumentsAsPropertyName.types | 2 - .../reference/arithmeticOnInvalidTypes.types | 2 - .../reference/arithmeticOnInvalidTypes2.types | 3 - .../arithmeticOperatorWithEnum.types | 1 - .../arithmeticOperatorWithEnumUnion.types | 2 - ...rithmeticOperatorWithInvalidOperands.types | 1 - ...ratorWithNullValueAndInvalidOperands.types | 1 - .../arithmeticOperatorWithTypeParameter.types | 2 - ...WithUndefinedValueAndInvalidOperands.types | 1 - .../arityAndOrderCompatibility01.types | 4 - .../reference/arrayAssignmentTest1.types | 20 - .../reference/arrayAssignmentTest2.types | 16 - .../reference/arrayAssignmentTest3.types | 1 - .../reference/arrayAssignmentTest4.types | 1 - .../reference/arrayAssignmentTest5.types | 25 - .../reference/arrayAssignmentTest6.types | 14 - tests/baselines/reference/arrayAugment.types | 4 - .../reference/arrayBestCommonTypes.types | 15 - .../arrayBufferIsViewNarrowsType.types | 2 - tests/baselines/reference/arrayConcat3.types | 14 - tests/baselines/reference/arrayFind.types | 2 - tests/baselines/reference/arrayFrom.types | 30 - ...teralAndArrayConstructorEquivalence1.types | 2 - .../arrayLiteralContextualType.types | 4 - .../reference/arrayLiteralTypeInference.types | 3 - ...ayLiteralWithMultipleBestCommonTypes.types | 2 - tests/baselines/reference/arrayLiterals.types | 3 - .../reference/arrayLiterals2ES5.types | 11 - .../reference/arrayLiterals2ES6.types | 11 - .../baselines/reference/arrayLiterals3.types | 13 - .../arrayLiteralsWithRecursiveGenerics.types | 17 - .../reference/arrayOfExportedClass.types | 2 - .../reference/arrayOfFunctionTypes3.types | 6 - ...OfSubtypeIsAssignableToReadonlyArray.types | 12 - .../arrayReferenceWithoutTypeArgs.types | 1 - .../reference/arraySigChecking.types | 7 - ...ayTypeInSignatureOfInterfaceAndClass.types | 25 - .../reference/arrayTypeOfFunctionTypes.types | 1 - .../reference/arrayTypeOfFunctionTypes2.types | 1 - tests/baselines/reference/arrayconcat.types | 3 - .../reference/arrowFunctionContexts.types | 10 - .../arrowFunctionWithObjectLiteralBody5.types | 3 - .../arrowFunctionWithObjectLiteralBody6.types | 3 - .../reference/asOperatorAmbiguity.types | 6 - .../assertInWrapSomeTypeParameter.types | 8 - tests/baselines/reference/assign1.types | 3 - .../reference/assignAnyToEveryType.types | 9 - .../reference/assignEveryTypeToAny.types | 8 - .../assignFromBooleanInterface.types | 1 - .../assignFromBooleanInterface2.types | 6 - .../reference/assignFromNumberInterface.types | 1 - .../assignFromNumberInterface2.types | 6 - .../reference/assignFromStringInterface.types | 1 - .../assignFromStringInterface2.types | 11 - ...signLambdaToNominalSubtypeOfFunction.types | 4 - tests/baselines/reference/assignToFn.types | 3 - .../baselines/reference/assignToModule.types | 2 - ...ignToObjectTypeWithPrototypeProperty.types | 2 - .../assigningFromObjectToAnythingElse.types | 7 - .../reference/assignmentCompatForEnums.types | 2 - ...patInterfaceWithStringIndexSignature.types | 6 - .../reference/assignmentCompatOnNew.types | 1 - .../assignmentCompatWithCallSignatures.types | 13 - .../assignmentCompatWithCallSignatures2.types | 13 - .../assignmentCompatWithCallSignatures3.types | 137 - .../assignmentCompatWithCallSignatures4.types | 100 - .../assignmentCompatWithCallSignatures5.types | 107 - .../assignmentCompatWithCallSignatures6.types | 65 - ...CallSignaturesWithOptionalParameters.types | 3 - ...WithCallSignaturesWithRestParameters.types | 2 - ...ignmentCompatWithConstructSignatures.types | 9 - ...gnmentCompatWithConstructSignatures2.types | 9 - ...gnmentCompatWithConstructSignatures3.types | 137 - ...gnmentCompatWithConstructSignatures4.types | 100 - ...gnmentCompatWithConstructSignatures5.types | 107 - ...gnmentCompatWithConstructSignatures6.types | 65 - ...ructSignaturesWithOptionalParameters.types | 3 - ...nmentCompatWithGenericCallSignatures.types | 4 - ...mentCompatWithGenericCallSignatures2.types | 12 - ...mentCompatWithGenericCallSignatures3.types | 25 - ...mentCompatWithGenericCallSignatures4.types | 13 - ...CallSignaturesWithOptionalParameters.types | 114 - .../assignmentCompatWithNumericIndexer.types | 21 - .../assignmentCompatWithNumericIndexer2.types | 28 - .../assignmentCompatWithNumericIndexer3.types | 19 - .../assignmentCompatWithObjectMembers.types | 16 - .../assignmentCompatWithObjectMembers2.types | 6 - .../assignmentCompatWithObjectMembers3.types | 10 - .../assignmentCompatWithObjectMembers4.types | 24 - .../assignmentCompatWithObjectMembers5.types | 4 - ...CompatWithObjectMembersAccessibility.types | 12 - ...tCompatWithObjectMembersNumericNames.types | 6 - ...ntCompatWithObjectMembersOptionality.types | 34 - ...tCompatWithObjectMembersOptionality2.types | 34 - ...tWithObjectMembersStringNumericNames.types | 12 - .../assignmentCompatWithStringIndexer.types | 26 - .../assignmentCompatWithStringIndexer2.types | 36 - .../assignmentCompatWithStringIndexer3.types | 13 - .../reference/assignmentCompatability1.types | 6 - .../reference/assignmentCompatability10.types | 10 - .../reference/assignmentCompatability11.types | 6 - .../reference/assignmentCompatability12.types | 6 - .../reference/assignmentCompatability13.types | 6 - .../reference/assignmentCompatability14.types | 6 - .../reference/assignmentCompatability15.types | 6 - .../reference/assignmentCompatability16.types | 6 - .../reference/assignmentCompatability17.types | 6 - .../reference/assignmentCompatability18.types | 6 - .../reference/assignmentCompatability19.types | 6 - .../reference/assignmentCompatability2.types | 6 - .../reference/assignmentCompatability20.types | 6 - .../reference/assignmentCompatability21.types | 6 - .../reference/assignmentCompatability22.types | 6 - .../reference/assignmentCompatability23.types | 6 - .../reference/assignmentCompatability24.types | 8 - .../reference/assignmentCompatability25.types | 6 - .../reference/assignmentCompatability26.types | 6 - .../reference/assignmentCompatability27.types | 6 - .../reference/assignmentCompatability28.types | 6 - .../reference/assignmentCompatability29.types | 6 - .../reference/assignmentCompatability3.types | 6 - .../reference/assignmentCompatability30.types | 6 - .../reference/assignmentCompatability31.types | 6 - .../reference/assignmentCompatability32.types | 6 - .../reference/assignmentCompatability33.types | 9 - .../reference/assignmentCompatability34.types | 9 - .../reference/assignmentCompatability35.types | 6 - .../reference/assignmentCompatability36.types | 6 - .../reference/assignmentCompatability37.types | 8 - .../reference/assignmentCompatability38.types | 8 - .../reference/assignmentCompatability39.types | 10 - .../reference/assignmentCompatability4.types | 6 - .../reference/assignmentCompatability40.types | 8 - .../reference/assignmentCompatability41.types | 10 - .../reference/assignmentCompatability42.types | 10 - .../reference/assignmentCompatability43.types | 12 - .../reference/assignmentCompatability5.types | 10 - .../reference/assignmentCompatability6.types | 10 - .../reference/assignmentCompatability7.types | 12 - .../reference/assignmentCompatability8.types | 8 - .../reference/assignmentCompatability9.types | 8 - ...ply-member-off-of-function-interface.types | 4 - ...all-member-off-of-function-interface.types | 4 - ...tibilityForConstrainedTypeParameters.types | 5 - .../assignmentNonObjectTypeConstraints.types | 8 - .../assignmentStricterConstraints.types | 9 - .../reference/assignmentToObject.types | 1 - .../assignmentToObjectAndFunction.types | 6 - .../assignmentToReferenceTypes.types | 1 - .../reference/assignmentTypeNarrowing.types | 1 - tests/baselines/reference/assignments.types | 4 - .../reference/asyncAliasReturnType_es5.types | 4 - .../reference/asyncAliasReturnType_es6.types | 4 - .../asyncArrowFunction10_es2017.types | 2 - .../reference/asyncArrowFunction10_es5.types | 2 - .../reference/asyncArrowFunction10_es6.types | 2 - .../asyncArrowFunction1_es2017.types | 1 - .../reference/asyncArrowFunction1_es5.types | 1 - .../reference/asyncArrowFunction1_es6.types | 1 - .../asyncArrowFunction6_es2017.types | 1 - .../reference/asyncArrowFunction6_es5.types | 1 - .../reference/asyncArrowFunction6_es6.types | 1 - .../asyncArrowFunction7_es2017.types | 2 - .../reference/asyncArrowFunction7_es5.types | 2 - .../reference/asyncArrowFunction7_es6.types | 2 - .../asyncArrowFunction8_es2017.types | 1 - .../reference/asyncArrowFunction8_es5.types | 1 - .../reference/asyncArrowFunction8_es6.types | 1 - .../asyncAwaitIsolatedModules_es2017.types | 16 - .../asyncAwaitIsolatedModules_es5.types | 16 - .../asyncAwaitIsolatedModules_es6.types | 16 - .../asyncAwaitNestedClasses_es5.types | 1 - .../asyncAwaitWithCapturedBlockScopeVar.types | 1 - .../reference/asyncAwait_es2017.types | 19 - .../baselines/reference/asyncAwait_es5.types | 19 - .../baselines/reference/asyncAwait_es6.types | 19 - .../reference/asyncDeclare_es5.types | 1 - .../reference/asyncDeclare_es6.types | 1 - .../asyncFunctionDeclaration11_es2017.types | 1 - .../asyncFunctionDeclaration11_es5.types | 1 - .../asyncFunctionDeclaration11_es6.types | 1 - .../asyncFunctionDeclaration12_es2017.types | 1 - .../asyncFunctionDeclaration12_es5.types | 1 - .../asyncFunctionDeclaration12_es6.types | 1 - .../asyncFunctionDeclaration13_es2017.types | 2 - .../asyncFunctionDeclaration13_es5.types | 2 - .../asyncFunctionDeclaration13_es6.types | 2 - .../asyncFunctionDeclaration14_es2017.types | 1 - .../asyncFunctionDeclaration14_es5.types | 1 - .../asyncFunctionDeclaration14_es6.types | 1 - .../asyncFunctionDeclaration15_es5.types | 3 - .../asyncFunctionDeclaration15_es6.types | 3 - .../asyncFunctionDeclaration1_es2017.types | 1 - .../asyncFunctionDeclaration1_es5.types | 1 - .../asyncFunctionDeclaration1_es6.types | 1 - .../asyncFunctionDeclaration6_es2017.types | 1 - .../asyncFunctionDeclaration6_es5.types | 1 - .../asyncFunctionDeclaration6_es6.types | 1 - .../asyncFunctionDeclaration7_es2017.types | 2 - .../asyncFunctionDeclaration7_es5.types | 2 - .../asyncFunctionDeclaration7_es6.types | 2 - .../asyncFunctionDeclaration9_es2017.types | 1 - .../asyncFunctionDeclaration9_es5.types | 1 - .../asyncFunctionDeclaration9_es6.types | 1 - .../reference/asyncFunctionReturnType.types | 84 - .../asyncFunctionsAndStrictNullChecks.types | 45 - .../reference/asyncImportedPromise_es5.types | 5 - .../reference/asyncImportedPromise_es6.types | 5 - .../reference/asyncInterface_es5.types | 4 +- .../reference/asyncInterface_es6.types | 4 +- .../baselines/reference/asyncModule_es5.types | 4 +- .../baselines/reference/asyncModule_es6.types | 4 +- .../asyncQualifiedReturnType_es5.types | 3 - .../asyncQualifiedReturnType_es6.types | 3 - ...cUnParenthesizedArrowFunction_es2017.types | 1 - ...syncUnParenthesizedArrowFunction_es5.types | 1 - ...syncUnParenthesizedArrowFunction_es6.types | 1 - .../reference/asyncUseStrict_es2017.types | 2 - .../reference/asyncUseStrict_es5.types | 2 - .../reference/asyncUseStrict_es6.types | 2 - tests/baselines/reference/augmentArray.types | 8 +- .../reference/augmentExportEquals1.types | 2 - .../reference/augmentExportEquals1_1.types | 2 - .../reference/augmentExportEquals2.types | 2 - .../reference/augmentExportEquals2_1.types | 2 - .../reference/augmentExportEquals3.types | 2 - .../reference/augmentExportEquals3_1.types | 2 - .../reference/augmentExportEquals4.types | 2 - .../reference/augmentExportEquals4_1.types | 2 - .../reference/augmentExportEquals5.types | 64 - .../reference/augmentExportEquals6.types | 2 - .../reference/augmentExportEquals6_1.types | 2 - .../reference/augmentExportEquals7.types | 2 - ...edTypeAssignmentCompatIndexSignature.types | 10 - ...entedTypeBracketAccessIndexSignature.types | 8 - ...mentedTypeBracketNamedPropertyAccess.types | 4 - .../reference/augmentedTypesClass2.types | 2 - .../reference/augmentedTypesClass3.types | 1 - .../reference/augmentedTypesEnum.types | 1 - .../reference/augmentedTypesEnum2.types | 2 - .../augmentedTypesExternalModule1.types | 2 - .../reference/augmentedTypesFunction.types | 3 - .../reference/augmentedTypesInterface.types | 10 - .../reference/augmentedTypesModules.types | 22 - .../reference/augmentedTypesModules2.types | 7 - .../reference/augmentedTypesModules3.types | 2 - .../reference/augmentedTypesModules3b.types | 2 - .../reference/augmentedTypesModules4.types | 6 - .../reference/augmentedTypesVar.types | 1 - .../awaitBinaryExpression1_es2017.types | 2 - .../awaitBinaryExpression1_es5.types | 2 - .../awaitBinaryExpression1_es6.types | 2 - .../awaitBinaryExpression2_es2017.types | 2 - .../awaitBinaryExpression2_es5.types | 2 - .../awaitBinaryExpression2_es6.types | 2 - .../awaitBinaryExpression3_es2017.types | 2 - .../awaitBinaryExpression3_es5.types | 2 - .../awaitBinaryExpression3_es6.types | 2 - .../awaitBinaryExpression4_es2017.types | 2 - .../awaitBinaryExpression4_es5.types | 2 - .../awaitBinaryExpression4_es6.types | 2 - .../awaitBinaryExpression5_es2017.types | 2 - .../awaitBinaryExpression5_es5.types | 2 - .../awaitBinaryExpression5_es6.types | 2 - .../awaitCallExpression1_es2017.types | 4 - .../reference/awaitCallExpression1_es5.types | 4 - .../reference/awaitCallExpression1_es6.types | 4 - .../awaitCallExpression2_es2017.types | 4 - .../reference/awaitCallExpression2_es5.types | 4 - .../reference/awaitCallExpression2_es6.types | 4 - .../awaitCallExpression3_es2017.types | 4 - .../reference/awaitCallExpression3_es5.types | 4 - .../reference/awaitCallExpression3_es6.types | 4 - .../awaitCallExpression4_es2017.types | 4 - .../reference/awaitCallExpression4_es5.types | 4 - .../reference/awaitCallExpression4_es6.types | 4 - .../awaitCallExpression5_es2017.types | 4 - .../reference/awaitCallExpression5_es5.types | 4 - .../reference/awaitCallExpression5_es6.types | 4 - .../awaitCallExpression6_es2017.types | 4 - .../reference/awaitCallExpression6_es5.types | 4 - .../reference/awaitCallExpression6_es6.types | 4 - .../awaitCallExpression7_es2017.types | 4 - .../reference/awaitCallExpression7_es5.types | 4 - .../reference/awaitCallExpression7_es6.types | 4 - .../awaitCallExpression8_es2017.types | 4 - .../reference/awaitCallExpression8_es5.types | 4 - .../reference/awaitCallExpression8_es6.types | 4 - .../awaitClassExpression_es2017.types | 2 - .../reference/awaitClassExpression_es5.types | 2 - .../reference/awaitClassExpression_es6.types | 2 - .../awaitInheritedPromise_es2017.types | 4 - .../reference/awaitUnionPromise.types | 15 - .../baselines/reference/awaitUnion_es5.types | 5 - .../baselines/reference/awaitUnion_es6.types | 5 - .../baselines/reference/badArraySyntax.types | 4 - .../badExternalModuleReference.types | 2 - .../baseClassImprovedMismatchErrors.types | 4 - .../reference/baseConstraintOfDecorator.types | 3 - .../baseExpressionTypeParameters.types | 4 - .../baseIndexSignatureResolution.types | 12 - .../reference/baseTypeAfterDerivedType.types | 8 - .../reference/baseTypeOrderChecking.types | 6 - .../baseTypePrivateMemberClash.types | 4 - .../baseTypeWrappingInstantiationChain.types | 17 - tests/baselines/reference/bases.types | 3 - ...stCommonTypeOfConditionalExpressions.types | 13 - ...tCommonTypeOfConditionalExpressions2.types | 19 - .../reference/bestCommonTypeOfTuple.types | 4 - .../reference/bestCommonTypeOfTuple2.types | 17 - .../bestCommonTypeReturnStatement.types | 7 - .../bestCommonTypeWithContextualTyping.types | 9 - ...bestCommonTypeWithOptionalProperties.types | 8 - tests/baselines/reference/bind1.types | 1 - .../reference/bluebirdStaticThis.types | 437 -- .../reference/boolInsteadOfBoolean.types | 1 - .../reference/booleanLiteralTypes1.types | 4 - .../reference/booleanLiteralTypes2.types | 4 - ...anLiteralsContextuallyTypedFromUnion.types | 7 - ...llExpressionWithMissingTypeArgument1.types | 3 - ...meterConstrainedToOuterTypeParameter.types | 8 - ...onWithIncorrectNumberOfTypeArguments.types | 41 - ...GenericFunctionWithZeroTypeArguments.types | 27 - ...lNonGenericFunctionWithTypeArguments.types | 6 - .../baselines/reference/callOverloads2.types | 1 - .../baselines/reference/callOverloads3.types | 2 - .../baselines/reference/callOverloads4.types | 2 - .../baselines/reference/callOverloads5.types | 2 - ...lSignatureAssignabilityInInheritance.types | 43 - ...SignatureAssignabilityInInheritance2.types | 142 - ...SignatureAssignabilityInInheritance3.types | 153 - ...SignatureAssignabilityInInheritance4.types | 112 - ...SignatureAssignabilityInInheritance5.types | 126 - ...SignatureAssignabilityInInheritance6.types | 85 - ...eWithOptionalParameterAndInitializer.types | 4 - ...allSignatureWithoutAnnotationsOrBody.types | 3 - ...WithoutReturnTypeAnnotationInference.types | 11 - ...ShouldBeResolvedBeforeSpecialization.types | 6 - ...SignaturesThatDifferOnlyByReturnType.types | 22 - ...ignaturesThatDifferOnlyByReturnType2.types | 8 - ...ignaturesThatDifferOnlyByReturnType3.types | 10 - ...thAccessibilityModifiersOnParameters.types | 17 - ...allSignaturesWithDuplicateParameters.types | 17 - ...callSignaturesWithOptionalParameters.types | 4 - ...allSignaturesWithOptionalParameters2.types | 4 - ...lSignaturesWithParameterInitializers.types | 4 - ...SignaturesWithParameterInitializers2.types | 1 - .../baselines/reference/callWithSpread.types | 6 - .../reference/callWithSpreadES6.types | 5 - .../callWithWrongNumberOfTypeArguments.types | 2 - .../reference/callbacksDontShareTypes.types | 22 - ...SystemWithCapsImportTypeDeclarations.types | 7 - .../reference/castExpressionParentheses.types | 1 - .../reference/castNewObjectBug.types | 3 - tests/baselines/reference/castTest.types | 4 - tests/baselines/reference/castingTuple.types | 18 - .../reference/chainedAssignment2.types | 2 - .../reference/chainedAssignment3.types | 2 - ...meterConstrainedToOtherTypeParameter.types | 9 - ...eterConstrainedToOtherTypeParameter2.types | 24 - ...nedSpecializationToObjectTypeLiteral.types | 19 - .../checkInfiniteExpansionTermination.types | 15 - .../checkInfiniteExpansionTermination2.types | 15 - .../reference/checkInterfaceBases.types | 7 - .../reference/checkJsdocTypeTag4.types | 2 - .../reference/checkJsxChildrenProperty1.types | 4 - .../checkJsxChildrenProperty10.types | 7 - .../checkJsxChildrenProperty11.types | 7 - .../checkJsxChildrenProperty12.types | 7 - .../checkJsxChildrenProperty13.types | 7 - .../checkJsxChildrenProperty14.types | 9 - .../reference/checkJsxChildrenProperty2.types | 4 - .../reference/checkJsxChildrenProperty3.types | 7 - .../reference/checkJsxChildrenProperty4.types | 7 - .../reference/checkJsxChildrenProperty5.types | 4 - .../reference/checkJsxChildrenProperty6.types | 5 - .../reference/checkJsxChildrenProperty7.types | 5 - .../reference/checkJsxChildrenProperty8.types | 5 - ...eckJsxGenericTagHasCorrectInferences.types | 12 - .../checkSuperCallBeforeThisAccessing7.types | 1 - ...eckSwitchStatementIfCaseTypeIsString.types | 1 - ...kTypePredicateForRedundantProperties.types | 1 - ...circularConstrainedMappedTypeNoCrash.types | 10 - ...ularConstraintYieldsAppropriateError.types | 7 - .../circularIndexedAccessErrors.types | 25 - .../reference/circularModuleImports.types | 1 - .../reference/circularReference.types | 2 - .../circularTypeAliasForUnionWithClass.types | 9 - ...rcularTypeAliasForUnionWithInterface.types | 25 - .../circularTypeofWithVarOrFunc.types | 3 - ...ractAssignabilityConstructorFunction.types | 1 - ...lassAbstractClinterfaceAssignability.types | 7 - .../reference/classAbstractGeneric.types | 16 - .../classAbstractInstantiations1.types | 3 - .../classAbstractMergedDeclaration.types | 9 - .../classAbstractWithInterface.types | 3 +- .../reference/classAndInterfaceMerge.d.types | 9 - ...sAndInterfaceMergeConflictingMembers.types | 6 - .../classAndInterfaceWithSameName.types | 3 - .../classAppearsToHaveMembersOfObject.types | 2 - .../classConstructorAccessibility.types | 6 - ...ssConstructorParametersAccessibility.types | 3 - ...sConstructorParametersAccessibility2.types | 3 - ...sConstructorParametersAccessibility3.types | 1 - .../classDoesNotDependOnBaseTypes.types | 3 - .../classDoesNotDependOnPrivateMember.types | 3 - .../reference/classExpressionTest1.types | 4 - .../reference/classExpressionTest2.types | 4 - ...ithResolutionOfNamespaceOfSameName01.types | 4 - .../reference/classExpressions.types | 3 - .../reference/classExtendingClass.types | 9 - .../classExtendingClassLikeType.types | 33 - .../classExtendsEveryObjectType.types | 2 - .../reference/classExtendsInterface.types | 11 - .../classExtendsInterfaceInExpression.types | 2 - .../classExtendsInterfaceInModule.types | 13 - ...terfaceThatExtendsClassWithPrivates1.types | 4 - .../reference/classExtendsItself.types | 3 - .../classExtendsItselfIndirectly.types | 9 - .../classExtendsItselfIndirectly2.types | 9 - .../classExtendsItselfIndirectly3.types | 9 - .../classImplementingInterfaceIndexer.types | 3 - .../reference/classImplementsClass1.types | 1 - .../reference/classImplementsClass2.types | 3 - .../reference/classImplementsClass3.types | 3 - .../reference/classImplementsClass4.types | 3 - .../reference/classImplementsClass5.types | 3 - .../reference/classImplementsClass6.types | 3 - .../reference/classImplementsClass7.types | 1 - .../classImplementsImportedInterface.types | 5 - .../classImplementsMergedClassInterface.types | 6 - tests/baselines/reference/classIndexer4.types | 3 - .../reference/classIsSubtypeOfBaseType.types | 2 - ...gedWithInterfaceMultipleBasesNoError.types | 10 - tests/baselines/reference/classOrderBug.types | 1 - .../reference/classPropertyAsPrivate.types | 1 - .../reference/classPropertyAsProtected.types | 1 - .../classPropertyErrorOnNameOnly.types | 3 - .../classPropertyIsPublicByDefault.types | 1 - .../reference/classSideInheritance1.types | 2 - .../reference/classSideInheritance2.types | 8 - .../reference/classSideInheritance3.types | 1 - .../classTypeParametersInStatics.types | 23 - .../classWithBaseClassButNoConstructor.types | 11 - .../reference/classWithConstructors.types | 11 - .../reference/classWithEmptyBody.types | 2 - .../classWithMultipleBaseClasses.types | 9 - .../classWithNoConstructorOrBaseClass.types | 4 - ...lyPublicMembersEquivalentToInterface.types | 8 - ...yPublicMembersEquivalentToInterface2.types | 8 - .../classWithOptionalParameter.types | 3 - .../classWithTwoConstructorDefinitions.types | 4 - .../classWithoutExplicitConstructor.types | 3 - tests/baselines/reference/classdecl.types | 5 - tests/baselines/reference/clinterfaces.types | 12 - .../cloduleAcrossModuleDefinitions.types | 1 - .../reference/cloduleAndTypeParameters.types | 4 - .../cloduleGenericOnSelfMember.types | 2 - tests/baselines/reference/cloduleTest1.types | 7 - .../cloduleWithPriorInstantiatedModule.types | 2 - ...cloduleWithPriorUninstantiatedModule.types | 4 - .../reference/clodulesDerivedClasses.types | 2 - .../reference/collectionPatternNoError.types | 36 - .../collisionArgumentsInterfaceMembers.types | 14 - ...GenModuleWithMemberInterfaceConflict.types | 2 - ...isionCodeGenModuleWithModuleChildren.types | 2 - ...lisionExportsRequireAndAmbientModule.types | 14 - .../collisionExportsRequireAndModule.types | 14 - ...xportsRequireAndUninstantiatedModule.types | 8 - ...llisionRestParameterInterfaceMembers.types | 10 - .../commaOperatorOtherInvalidOperation.types | 5 - .../commaOperatorOtherValidOperation.types | 4 - ...ommaOperatorWithSecondOperandAnyType.types | 1 - ...OperatorWithSecondOperandBooleanType.types | 1 - ...aOperatorWithSecondOperandNumberType.types | 1 - ...aOperatorWithSecondOperandObjectType.types | 1 - ...aOperatorWithSecondOperandStringType.types | 1 - .../commaOperatorWithoutOperand.types | 1 - .../commaOperatorsMultipleOperators.types | 1 - .../reference/commentEmitAtEndOfFile1.types | 1 - .../reference/commentOnElidedModule1.types | 34 +- .../reference/commentOnInterface1.types | 34 +- .../reference/commentsInheritance.types | 11 - .../reference/commentsInterface.types | 11 - .../reference/commentsOverloads.types | 11 - .../reference/commentsTypeParameters.types | 14 - .../reference/commentsdoNotEmitComments.types | 5 - .../reference/commentsemitComments.types | 4 - ...commonJSImportNotAsPrimaryExpression.types | 10 - .../commonJsImportClassExpression.types | 1 - ...mparisonOperatorWithIdenticalObjects.types | 26 - ...onOperatorWithIdenticalPrimitiveType.types | 1 - ...onOperatorWithIdenticalTypeParameter.types | 2 - ...NoRelationshipObjectsOnCallSignature.types | 17 - ...ionshipObjectsOnConstructorSignature.types | 25 - ...oRelationshipObjectsOnIndexSignature.types | 6 - ...ipObjectsOnInstantiatedCallSignature.types | 25 - ...tsOnInstantiatedConstructorSignature.types | 25 - ...elationshipObjectsOnOptionalProperty.types | 6 - ...rWithNoRelationshipObjectsOnProperty.types | 4 - ...ratorWithNoRelationshipPrimitiveType.types | 1 - ...ratorWithNoRelationshipTypeParameter.types | 5 - ...comparisonOperatorWithNumericLiteral.types | 9 - ...omparisonOperatorWithOneOperandIsAny.types | 3 - ...mparisonOperatorWithOneOperandIsNull.types | 3 - ...sonOperatorWithOneOperandIsUndefined.types | 3 - ...isonOperatorWithSubtypeEnumAndNumber.types | 1 - ...atorWithSubtypeObjectOnCallSignature.types | 15 - ...hSubtypeObjectOnConstructorSignature.types | 28 - ...torWithSubtypeObjectOnIndexSignature.types | 4 - ...ypeObjectOnInstantiatedCallSignature.types | 24 - ...ctOnInstantiatedConstructorSignature.types | 24 - ...rWithSubtypeObjectOnOptionalProperty.types | 6 - ...nOperatorWithSubtypeObjectOnProperty.types | 8 - .../comparisonOperatorWithTypeParameter.types | 7 - .../reference/complexClassRelationships.types | 15 - .../reference/complexNarrowingWithAny.types | 62 - .../complexRecursiveCollections.types | 1522 ------- ...edGenericRecursiveBaseClassReference.types | 7 - .../reference/complicatedPrivacy.types | 27 - .../reference/compositeGenericFunction.types | 5 - ...ndAdditionAssignmentLHSCanBeAssigned.types | 1 - ...dditionAssignmentLHSCannotBeAssigned.types | 1 - ...dditionAssignmentWithInvalidOperands.types | 1 - ...ArithmeticAssignmentLHSCanBeAssigned.types | 2 - ...thmeticAssignmentWithInvalidOperands.types | 1 - ...entiationAssignmentLHSCanBeAssigned1.types | 2 - ...tiationAssignmentLHSCannotBeAssigned.types | 1 - .../computedPropertyNames32_ES5.types | 3 - .../computedPropertyNames32_ES6.types | 3 - .../computedPropertyNames33_ES5.types | 3 - .../computedPropertyNames33_ES6.types | 3 - .../computedPropertyNames34_ES5.types | 3 - .../computedPropertyNames34_ES6.types | 3 - .../computedPropertyNames35_ES5.types | 5 - .../computedPropertyNames35_ES6.types | 5 - .../computedPropertyNames36_ES5.types | 2 - .../computedPropertyNames36_ES6.types | 2 - .../computedPropertyNames37_ES5.types | 2 - .../computedPropertyNames37_ES6.types | 2 - .../computedPropertyNames38_ES5.types | 2 - .../computedPropertyNames38_ES6.types | 2 - .../computedPropertyNames39_ES5.types | 2 - .../computedPropertyNames39_ES6.types | 2 - .../computedPropertyNames3_ES5.types | 1 - .../computedPropertyNames3_ES6.types | 1 - .../computedPropertyNames40_ES5.types | 1 - .../computedPropertyNames40_ES6.types | 1 - .../computedPropertyNames41_ES5.types | 1 - .../computedPropertyNames41_ES6.types | 1 - .../computedPropertyNames42_ES5.types | 2 - .../computedPropertyNames42_ES6.types | 2 - .../computedPropertyNames43_ES5.types | 2 - .../computedPropertyNames43_ES6.types | 2 - .../computedPropertyNames44_ES5.types | 2 - .../computedPropertyNames44_ES6.types | 2 - .../computedPropertyNames45_ES5.types | 2 - .../computedPropertyNames45_ES6.types | 2 - .../computedPropertyNames48_ES5.types | 3 - .../computedPropertyNames48_ES6.types | 3 - .../computedPropertyNames51_ES5.types | 5 - .../computedPropertyNames51_ES6.types | 5 - .../computedPropertyNames8_ES5.types | 4 - .../computedPropertyNames8_ES6.types | 4 - .../computedPropertyNames9_ES5.types | 3 - .../computedPropertyNames9_ES6.types | 3 - ...tedPropertyNamesContextualType10_ES5.types | 3 - ...tedPropertyNamesContextualType10_ES6.types | 3 - ...utedPropertyNamesContextualType1_ES5.types | 3 - ...utedPropertyNamesContextualType1_ES6.types | 3 - ...utedPropertyNamesContextualType2_ES5.types | 3 - ...utedPropertyNamesContextualType2_ES6.types | 3 - ...utedPropertyNamesContextualType3_ES5.types | 3 - ...utedPropertyNamesContextualType3_ES6.types | 3 - ...utedPropertyNamesContextualType4_ES5.types | 3 - ...utedPropertyNamesContextualType4_ES6.types | 3 - ...utedPropertyNamesContextualType5_ES5.types | 3 - ...utedPropertyNamesContextualType5_ES6.types | 3 - ...utedPropertyNamesContextualType6_ES5.types | 8 - ...utedPropertyNamesContextualType6_ES6.types | 8 - ...utedPropertyNamesContextualType7_ES5.types | 16 - ...utedPropertyNamesContextualType7_ES6.types | 16 - ...utedPropertyNamesContextualType8_ES5.types | 3 - ...utedPropertyNamesContextualType8_ES6.types | 3 - ...utedPropertyNamesContextualType9_ES5.types | 3 - ...utedPropertyNamesContextualType9_ES6.types | 3 - ...tedPropertyNamesDeclarationEmit3_ES5.types | 2 - ...tedPropertyNamesDeclarationEmit3_ES6.types | 2 - ...tionalOperatorConditionIsBooleanType.types | 2 - ...itionalOperatorConditionIsNumberType.types | 2 - ...itionalOperatorConditionIsObjectType.types | 3 - ...onditionalOperatorConditoinIsAnyType.types | 2 - ...itionalOperatorConditoinIsStringType.types | 2 - .../conditionalOperatorWithIdenticalBCT.types | 9 - ...nditionalOperatorWithoutIdenticalBCT.types | 11 - .../reference/conditionalTypes1.types | 488 --- .../reference/conditionalTypes2.types | 240 - .../reference/conditionalTypesASI.types | 2 - .../conditionalTypesExcessProperties.types | 7 - .../reference/conflictMarkerTrivia4.types | 1 - .../conflictingMemberTypesInBases.types | 13 - ...DeclarationShadowedByVarDeclaration3.types | 1 - tests/baselines/reference/constEnum3.types | 2 - .../constEnumMergingWithValues1.types | 2 - .../constEnumMergingWithValues2.types | 2 - .../constEnumMergingWithValues3.types | 2 - .../constEnumMergingWithValues4.types | 2 - .../constEnumMergingWithValues5.types | 2 - ...EnumNamespaceReferenceCausesNoImport.types | 1 - .../constEnumOnlyModuleMerging.types | 2 - .../reference/constEnumPropertyAccess2.types | 2 - tests/baselines/reference/constEnums.types | 25 - .../reference/constIndexedAccess.types | 3 - .../reference/constantOverloadFunction.types | 5 - ...nstantOverloadFunctionNoSubtypeError.types | 5 - ...raintCheckInGenericBaseTypeReference.types | 4 - .../reference/constraintErrors1.types | 3 - ...appedTypeWithConditionalIsResolvable.types | 50 - ...straintPropagationThroughReturnTypes.types | 5 - ...peParameterFromSameTypeParameterList.types | 31 - .../constraintSatisfactionWithAny.types | 22 - .../constraintSatisfactionWithAny2.types | 7 - ...onstraintSatisfactionWithEmptyObject.types | 21 - tests/baselines/reference/constraints0.types | 13 - ...aintsThatReferenceOtherContstraints1.types | 12 - .../constraintsUsedInPrototypeProperty.types | 3 - ...tSignatureAssignabilityInInheritance.types | 40 - ...SignatureAssignabilityInInheritance2.types | 142 - ...SignatureAssignabilityInInheritance3.types | 145 - ...SignatureAssignabilityInInheritance4.types | 135 - ...SignatureAssignabilityInInheritance5.types | 126 - ...SignatureAssignabilityInInheritance6.types | 85 - ...thAccessibilityModifiersOnParameters.types | 4 - ...hAccessibilityModifiersOnParameters2.types | 4 - ...ructSignaturesWithIdenticalOverloads.types | 37 - .../constructSignaturesWithOverloads.types | 37 - .../constructSignaturesWithOverloads2.types | 18 - ...hOverloadsThatDifferOnlyByReturnType.types | 29 - ...nstructorArgWithGenericCallSignature.types | 8 - .../baselines/reference/constructorArgs.types | 3 - ...structorDefaultValuesReferencingThis.types | 2 - ...orFunctionTypeIsAssignableToBaseType.types | 1 - ...rFunctionTypeIsAssignableToBaseType2.types | 2 - .../constructorHasPrototypeProperty.types | 10 - ...uctorImplementationWithDefaultValues.types | 5 - ...ctorImplementationWithDefaultValues2.types | 9 - ...structorInvocationWithTooFewTypeArgs.types | 4 - .../reference/constructorOverloads4.types | 1 - .../reference/constructorOverloads5.types | 3 - .../reference/constructorOverloads7.types | 2 - .../reference/constructorOverloads8.types | 2 - ...onstructorOverloadsWithDefaultValues.types | 1 - ...uctorOverloadsWithOptionalParameters.types | 1 - .../constructorParameterProperties.types | 7 - .../constructorParameterProperties2.types | 4 - .../constructorReturningAPrimitive.types | 2 - .../constructorTypeWithTypeParameters.types | 2 - ...ructorWithAssignableReturnExpression.types | 5 - .../constructorWithCapturedSuper.types | 1 - .../constructorWithExpressionLessReturn.types | 2 - ...structorWithIncompleteTypeAnnotation.types | 12 - ...onstructorsWithSpecializedSignatures.types | 4 - ...xpressionTypecheckingDoesntBlowStack.types | 4 - ...contextualSigInstantiationRestParams.types | 5 - .../contextualSignatureInstantiation.types | 30 - .../contextualSignatureInstantiation1.types | 16 - .../contextualSignatureInstantiation2.types | 21 - .../contextualSignatureInstantiation3.types | 10 - ...meterConstrainedToOuterTypeParameter.types | 11 - ...lSignatureInstatiationContravariance.types | 13 - ...xtualSignatureInstatiationCovariance.types | 13 - ...re_objectLiteralMethodMayReturnNever.types | 2 - .../reference/contextualThisType.types | 5 - .../contextualTypeArrayReturnType.types | 9 - ...contextualTypeObjectSpreadExpression.types | 3 - .../contextualTypeShouldBeLiteral.types | 24 - .../reference/contextualTypeWithTuple.types | 4 - ...xtualTypeWithUnionTypeCallSignatures.types | 20 - ...tualTypeWithUnionTypeIndexSignatures.types | 40 - .../contextualTypeWithUnionTypeMembers.types | 42 - ...extualTypeWithUnionTypeObjectLiteral.types | 16 - .../reference/contextualTyping.types | 79 - .../reference/contextualTyping11.types | 1 - .../contextualTypingArrayOfLambdas.types | 3 - ...xtualTypingFunctionReturningFunction.types | 3 - .../contextualTypingOfArrayLiterals1.types | 4 - ...textualTypingOfConditionalExpression.types | 1 - ...extualTypingOfConditionalExpression2.types | 2 - ...pingOfGenericFunctionTypedArguments1.types | 14 - ...TypingOfLambdaWithMultipleSignatures.types | 3 - .../contextualTypingOfObjectLiterals2.types | 3 - .../contextualTypingOfOptionalMembers.types | 71 - .../contextualTypingOfTooShortOverloads.types | 46 - ...ypingTwoInstancesOfSameTypeParameter.types | 3 - ...extualTypingWithFixedTypeParameters1.types | 5 - ...ingWithGenericAndNonGenericSignature.types | 10 - ...contextualTypingWithGenericSignature.types | 5 - .../contextuallyTypedBindingInitializer.types | 18 - ...uallyTypedBindingInitializerNegative.types | 18 - ...ontextuallyTypedByDiscriminableUnion.types | 1 - ...edClassExpressionMethodDeclaration01.types | 11 - ...edClassExpressionMethodDeclaration02.types | 14 - ...ypedObjectLiteralMethodDeclaration01.types | 11 - ...TypedStringLiteralsInJsxAttributes01.types | 6 - ...TypedStringLiteralsInJsxAttributes02.types | 20 - .../contextuallyTypingOrOperator3.types | 5 - ...controlFlowAnalysisOnBareThisKeyword.types | 1 - .../controlFlowBinaryOrExpression.types | 11 - .../controlFlowDoWhileStatement.types | 4 - .../reference/controlFlowForInStatement.types | 2 - .../reference/controlFlowForOfStatement.types | 1 - .../reference/controlFlowForStatement.types | 1 - .../reference/controlFlowIfStatement.types | 6 - .../reference/controlFlowInstanceof.types | 12 - .../reference/controlFlowLoopAnalysis.types | 9 - .../reference/controlFlowOuterVariable.types | 2 - .../reference/controlFlowStringIndex.types | 1 - .../reference/controlFlowWhileStatement.types | 4 - .../reference/convertKeywordsYes.types | 44 - .../correctOrderOfPromiseMethod.types | 11 - .../couldNotSelectGenericOverload.types | 3 - tests/baselines/reference/covariance1.types | 7 - .../reference/covariantCallbacks.types | 49 - .../reference/crashInResolveInterface.types | 10 - .../crashInresolveReturnStatement.types | 2 - ...ePropertyIsRelatableToTargetProperty.types | 1 - ...crashIntypeCheckInvocationExpression.types | 8 - ...hIntypeCheckObjectCreationExpression.types | 6 - .../reference/crashRegressionTest.types | 6 - .../reference/customEventDetail.types | 1 - .../cyclicGenericTypeInstantiation.types | 2 - ...licGenericTypeInstantiationInference.types | 3 - .../reference/cyclicModuleImport.types | 2 - .../reference/cyclicTypeInstantiation.types | 4 - .../declFileAliasUseBeforeDeclaration.types | 1 - ...ternalModuleWithSingleExportedModule.types | 6 - .../reference/declFileCallSignatures.types | 33 - .../declFileConstructSignatures.types | 37 - ...ExportAssignmentImportInternalModule.types | 11 - ...leExportAssignmentOfGenericInterface.types | 5 - .../reference/declFileExportImportChain.types | 1 - .../declFileExportImportChain2.types | 1 - ...lFileForClassWithMultipleBaseClasses.types | 9 - ...clFileForFunctionTypeAsTypeParameter.types | 3 - ...FileForInterfaceWithOptionalFunction.types | 2 - .../declFileForInterfaceWithRestParams.types | 2 - .../reference/declFileForTypeParameters.types | 4 - .../reference/declFileFunctions.types | 6 - ...GenericClassWithGenericExtendedClass.types | 15 - .../reference/declFileGenericType.types | 44 - .../reference/declFileGenericType2.types | 44 - ...FileImportModuleWithExportAssignment.types | 11 - ...FileImportedTypeUseInTypeArgPosition.types | 3 - .../reference/declFileIndexSignatures.types | 20 - .../baselines/reference/declFileMethods.types | 4 - .../declFileModuleContinuation.types | 6 - .../declFileOptionalInterfaceMethod.types | 3 - .../declFilePrivateMethodOverloads.types | 12 - ...tParametersOfFunctionAndFunctionType.types | 2 - .../declFileTypeAnnotationArrayType.types | 7 - .../declFileTypeAnnotationParenType.types | 2 - .../declFileTypeAnnotationTupleType.types | 7 - .../declFileTypeAnnotationTypeAlias.types | 8 - .../declFileTypeAnnotationTypeLiteral.types | 12 - .../declFileTypeAnnotationTypeQuery.types | 2 - .../declFileTypeAnnotationTypeReference.types | 6 - .../declFileTypeAnnotationUnionType.types | 7 - ...peAnnotationVisibilityErrorAccessors.types | 15 - ...onVisibilityErrorParameterOfFunction.types | 6 - ...nVisibilityErrorReturnTypeOfFunction.types | 6 - ...peAnnotationVisibilityErrorTypeAlias.types | 12 - ...AnnotationVisibilityErrorTypeLiteral.types | 10 - ...onVisibilityErrorVariableDeclaration.types | 6 - .../reference/declFileTypeofClass.types | 2 - .../declFileTypeofInAnonymousType.types | 1 - ...tingWithClassReferredByExtendsClause.types | 1 - ...FileWithErrorsInInputDeclarationFile.types | 1 - ...hErrorsInInputDeclarationFileWithOut.types | 1 - ...lModuleNameConflictsInExtendsClause1.types | 8 - ...lModuleNameConflictsInExtendsClause2.types | 13 - ...lModuleNameConflictsInExtendsClause3.types | 13 - tests/baselines/reference/declInput-2.types | 15 - tests/baselines/reference/declInput.types | 2 - tests/baselines/reference/declInput3.types | 2 - tests/baselines/reference/declInput4.types | 9 - .../declarationEmitAliasExportStar.types | 5 +- ...declarationEmitAliasFromIndirectFile.types | 7 - ...nEmitArrayTypesFromGenericArrayUsage.types | 5 +- ...dlePreservesHasNoDefaultLibDirective.types | 33 +- ...ationEmitBundleWithAmbientReferences.types | 20 - ...clarationEmitClassPrivateConstructor.types | 5 - ...larationEmitClassPrivateConstructor2.types | 3 - ...tionEmitCommonJsModuleReferencedType.types | 19 +- ...EmitDestructuringParameterProperties.types | 2 - .../declarationEmitExportAssignment.types | 1 - .../declarationEmitExportDeclaration.types | 2 - .../declarationEmitExpressionInExtends.types | 3 - .../declarationEmitExpressionInExtends2.types | 6 - .../declarationEmitExpressionInExtends3.types | 20 - .../declarationEmitExpressionInExtends5.types | 6 - .../declarationEmitFBoundedTypeParams.types | 6 - ...FirstTypeArgumentGenericFunctionType.types | 31 - ...tionEmitForTypesWhichNeedImportTypes.types | 2 - ...arationEmitHasTypesRefOnNamespaceUse.types | 12 +- ...eclarationEmitIdentifierPredicates01.types | 1 - ...dentifierPredicatesWithPrivateName01.types | 4 - .../declarationEmitIndexTypeArray.types | 2 - .../declarationEmitIndexTypeNotFound.types | 3 - .../declarationEmitInferredTypeAlias1.types | 1 - .../declarationEmitInferredTypeAlias2.types | 1 - .../declarationEmitInferredTypeAlias3.types | 1 - .../declarationEmitInferredTypeAlias4.types | 7 - .../declarationEmitInferredTypeAlias5.types | 1 - .../declarationEmitInferredTypeAlias6.types | 1 - .../declarationEmitInferredTypeAlias7.types | 1 - .../declarationEmitInferredTypeAlias8.types | 5 - .../declarationEmitInferredTypeAlias9.types | 5 - ...eWithNonEntityNameExpressionHeritage.types | 1 - ...rationEmitLocalClassDeclarationMixin.types | 9 - .../declarationEmitNameConflicts.types | 14 - .../declarationEmitNameConflicts3.types | 3 - ...eclarationEmitNameConflictsWithAlias.types | 7 - .../declarationEmitNestedGenerics.types | 8 - ...mitPreservesHasNoDefaultLibDirective.types | 16 - ...eclarationEmitPrivateNameCausesError.types | 2 - .../reference/declarationEmitPromise.types | 49 - ...declarationEmitRetainsJsdocyComments.types | 2 - .../declarationEmitThisPredicates01.types | 1 - .../declarationEmitThisPredicates02.types | 4 - ...nEmitThisPredicatesWithPrivateName01.types | 1 - ...nEmitThisPredicatesWithPrivateName02.types | 4 - ...sTypeParameterExtendingUnknownSymbol.types | 2 - ...tionEmitTypeAliasWithTypeParameters1.types | 8 - ...tionEmitTypeAliasWithTypeParameters2.types | 15 - ...tionEmitTypeAliasWithTypeParameters3.types | 5 - ...tionEmitTypeAliasWithTypeParameters4.types | 11 - ...tionEmitTypeAliasWithTypeParameters5.types | 11 - ...tionEmitTypeAliasWithTypeParameters6.types | 13 - ...EmitUnnessesaryTypeReferenceNotAdded.types | 5 - ...arationEmitWithDefaultAsComputedName.types | 8 - ...rationEmitWithDefaultAsComputedName2.types | 8 - .../reference/declarationFiles.types | 9 - ...arationFilesGeneratingTypeReferences.types | 10 +- .../declarationFilesWithTypeReferences1.types | 3 - .../declarationFilesWithTypeReferences2.types | 3 - .../declarationFilesWithTypeReferences3.types | 3 - .../declarationFilesWithTypeReferences4.types | 3 - .../baselines/reference/declarationMaps.types | 11 - .../declarationMapsWithoutDeclaration.types | 11 - .../reference/declarationMerging1.types | 2 - .../reference/declarationMerging2.types | 2 - .../declarationNoDanglingGenerics.types | 4 - .../reference/declarationQuotedMembers.types | 1 - ...rationsForIndirectTypeAliasReference.types | 10 - ...arationsForInferredTypeFromOtherFile.types | 1 - .../reference/declareAlreadySeen.types | 1 - .../declareClassInterfaceImplementation.types | 3 - .../reference/declareDottedModuleName.types | 29 +- ...ernalModuleWithExportAssignedFundule.types | 5 - .../declareFileExportAssignment.types | 11 - ...signmentWithVarFromVariableStatement.types | 11 - .../declareModifierOnTypeAlias.types | 1 - .../declaredClassMergedwithSelf.types | 1 - .../reference/declaredExternalModule.types | 7 - ...edExternalModuleWithExportAssignment.types | 10 - ...ecoratedDefaultExportsGetExportedAmd.types | 2 - ...tedDefaultExportsGetExportedCommonjs.types | 2 - ...ratedDefaultExportsGetExportedSystem.types | 2 - ...ecoratedDefaultExportsGetExportedUmd.types | 2 - .../reference/decoratorCallGeneric.types | 8 - .../reference/decoratorMetadata.types | 1 - ...decoratorMetadataGenericTypeVariable.types | 2 - ...orMetadataGenericTypeVariableDefault.types | 2 - ...orMetadataGenericTypeVariableInScope.types | 2 - ...torMetadataNoLibIsolatedModulesTypes.types | 1 - .../decoratorMetadataOnInferredType.types | 1 - .../reference/decoratorMetadataPromise.types | 4 - ...etadataRestParameterWithImportedType.types | 5 - ...decoratorMetadataWithConstructorType.types | 2 - ...taWithImportDeclarationNameCollision.types | 2 - ...aWithImportDeclarationNameCollision2.types | 2 - ...aWithImportDeclarationNameCollision3.types | 2 - ...aWithImportDeclarationNameCollision4.types | 2 - ...aWithImportDeclarationNameCollision5.types | 2 - ...aWithImportDeclarationNameCollision6.types | 2 - ...aWithImportDeclarationNameCollision7.types | 2 - ...aWithImportDeclarationNameCollision8.types | 2 - .../reference/decoratorOnArrowFunction.types | 3 - .../reference/decoratorOnClass1.es6.types | 3 - .../reference/decoratorOnClass1.types | 3 - .../reference/decoratorOnClass2.es6.types | 3 - .../reference/decoratorOnClass2.types | 3 - .../reference/decoratorOnClass3.es6.types | 3 - .../reference/decoratorOnClass3.types | 3 - .../reference/decoratorOnClass4.es6.types | 3 - .../reference/decoratorOnClass4.types | 3 - .../reference/decoratorOnClass5.es6.types | 3 - .../reference/decoratorOnClass5.types | 3 - .../reference/decoratorOnClass6.es6.types | 3 - .../reference/decoratorOnClass7.es6.types | 3 - .../reference/decoratorOnClass8.es6.types | 3 - .../reference/decoratorOnClass8.types | 1 - .../decoratorOnClassAccessor1.es6.types | 5 - .../reference/decoratorOnClassAccessor1.types | 5 - .../reference/decoratorOnClassAccessor2.types | 5 - .../reference/decoratorOnClassAccessor3.types | 5 - .../reference/decoratorOnClassAccessor4.types | 5 - .../reference/decoratorOnClassAccessor5.types | 5 - .../reference/decoratorOnClassAccessor6.types | 5 - .../reference/decoratorOnClassAccessor7.types | 10 - .../reference/decoratorOnClassAccessor8.types | 5 - .../decoratorOnClassConstructor1.types | 5 - .../decoratorOnClassConstructor2.types | 1 - .../decoratorOnClassConstructor3.types | 1 - ...ecoratorOnClassConstructorParameter1.types | 1 - ...ecoratorOnClassConstructorParameter4.types | 1 - .../decoratorOnClassMethod1.es6.types | 5 - .../reference/decoratorOnClassMethod1.types | 5 - .../reference/decoratorOnClassMethod10.types | 1 - .../reference/decoratorOnClassMethod11.types | 1 - .../reference/decoratorOnClassMethod12.types | 1 - .../reference/decoratorOnClassMethod13.types | 5 - .../reference/decoratorOnClassMethod2.types | 5 - .../reference/decoratorOnClassMethod3.types | 5 - .../reference/decoratorOnClassMethod4.types | 5 - .../reference/decoratorOnClassMethod5.types | 5 - .../reference/decoratorOnClassMethod6.types | 5 - .../reference/decoratorOnClassMethod7.types | 5 - .../reference/decoratorOnClassMethod8.types | 3 - .../decoratorOnClassMethodOverload1.types | 5 - .../decoratorOnClassMethodOverload2.types | 5 - ...decoratorOnClassMethodParameter1.es6.types | 1 - .../decoratorOnClassMethodParameter1.types | 1 - .../decoratorOnClassProperty10.types | 1 - .../decoratorOnClassProperty11.types | 1 - .../reference/decoratorOnClassProperty6.types | 1 - .../reference/decoratorOnClassProperty7.types | 1 - .../baselines/reference/decoratorOnEnum.types | 3 - .../reference/decoratorOnEnum2.types | 3 - .../decoratorOnFunctionDeclaration.types | 3 - .../decoratorOnFunctionExpression.types | 3 - .../reference/decoratorOnImportEquals1.types | 5 - .../reference/decoratorOnImportEquals2.types | 3 - .../reference/decoratorOnInterface.types | 4 - .../reference/decoratorOnInternalModule.types | 4 - .../reference/decoratorOnTypeAlias.types | 3 - .../baselines/reference/decoratorOnVar.types | 3 - .../decoratorReferenceOnOtherProperty.types | 2 - .../decoratorWithUnderscoreMethod.types | 2 - .../decoratorsOnComputedProperties.types | 1 - .../deeplyNestedAssignabilityIssue.types | 7 - .../reference/deeplyNestedCheck.types | 15 - .../defaultArgsInFunctionExpressions.types | 2 - .../reference/defaultArgsInOverloads.types | 2 - .../defaultBestCommonTypesHaveDecls.types | 9 - .../defaultDeclarationEmitDefaultImport.types | 1 - ...defaultDeclarationEmitNamedCorrectly.types | 15 - ...eclarationEmitShadowedNamedCorrectly.types | 15 - .../defaultExportsCannotMerge01.types | 5 - .../defaultExportsCannotMerge02.types | 7 - .../defaultExportsCannotMerge03.types | 7 - .../defaultExportsCannotMerge04.types | 2 - ...terAddsUndefinedWithStrictNullChecks.types | 1 - ...efaultPropsEmptyCurlyBecomesAnyForJs.types | 6 - .../deferredLookupTypeResolution.types | 26 - .../deferredLookupTypeResolution2.types | 29 - ...niteAssignmentOfDestructuredVariable.types | 8 - .../baselines/reference/deleteReadonly.types | 6 - ...ivedClassConstructorWithoutSuperCall.types | 8 - ...derivedClassIncludesInheritedMembers.types | 4 - ...sIndexersWithAssignmentCompatibility.types | 2 - ...rivedClassOverridesProtectedMembers2.types | 3 - .../derivedClassOverridesPublicMembers.types | 3 - .../derivedClassParameterProperties.types | 6 - ...assSuperCallsInNonConstructorMembers.types | 1 - .../reference/derivedClassTransitivity.types | 3 - .../reference/derivedClassTransitivity2.types | 3 - .../reference/derivedClassTransitivity3.types | 12 - .../reference/derivedClassTransitivity4.types | 3 - .../reference/derivedClassWithAny.types | 3 - ...rivedClassWithoutExplicitConstructor.types | 7 - ...ivedClassWithoutExplicitConstructor2.types | 12 - ...ivedClassWithoutExplicitConstructor3.types | 11 - .../derivedGenericClassWithAny.types | 11 - .../derivedInterfaceCallSignature.types | 15 - ...edInterfaceDoesNotHideBaseSignatures.types | 5 - ...InterfaceIncompatibleWithBaseIndexer.types | 20 - ...ypeCallingBaseImplWithOptionalParams.types | 5 - ...rivedTypeDoesNotRequireExtendsClause.types | 4 - .../derivedTypeIncompatibleSignatures.types | 20 - .../destructureOptionalParameter.types | 9 - ...ingArrayBindingPatternAndAssignment2.types | 8 - .../destructuringInFunctionType.types | 10 - ...bjectBindingPatternAndAssignment1ES5.types | 7 - ...bjectBindingPatternAndAssignment1ES6.types | 7 - ...estructuringParameterDeclaration1ES5.types | 6 - ...ringParameterDeclaration1ES5iterable.types | 6 - ...estructuringParameterDeclaration1ES6.types | 6 - .../destructuringParameterDeclaration2.types | 5 - ...estructuringParameterDeclaration3ES5.types | 16 - ...ringParameterDeclaration3ES5iterable.types | 16 - ...estructuringParameterDeclaration3ES6.types | 16 - .../destructuringParameterDeclaration4.types | 11 - .../destructuringParameterDeclaration5.types | 17 - ...estructuringParameterDeclaration7ES5.types | 4 - ...ringParameterDeclaration7ES5iterable.types | 4 - .../destructuringParameterProperties1.types | 2 - .../destructuringParameterProperties3.types | 7 - .../destructuringParameterProperties4.types | 7 - .../destructuringParameterProperties5.types | 2 - .../destructuringTypeGuardFlow.types | 2 - .../destructuringWithConstraint.types | 6 - .../destructuringWithGenericParameter.types | 6 - .../differentTypesWithSameName.types | 2 - .../directDependenceBetweenTypeAliases.types | 26 - .../reference/directReferenceToNull.types | 1 - .../directReferenceToUndefined.types | 1 - .../reference/discriminantPropertyCheck.types | 18 - .../discriminantsAndNullOrUndefined.types | 7 - .../discriminantsAndPrimitives.types | 12 - .../discriminantsAndTypePredicates.types | 14 - .../discriminatedUnionErrorMessage.types | 7 - .../reference/discriminatedUnionTypes1.types | 21 - ...tTripleSlashCommentsOnNotEmittedNode.types | 9 +- .../reference/doNotInferUnrelatedTypes.types | 7 - ...denAtObjectLiteralPropertyAssignment.types | 7 - .../reference/dottedModuleName2.types | 1 - .../reference/dottedSymbolResolution1.types | 12 - ...leMixinConditionalTypeBaseClassWorks.types | 9 - .../doubleUnderscoreMappedTypes.types | 8 - .../duplicateConstructSignature.types | 9 +- .../duplicateConstructSignature2.types | 5 - ...plicateConstructorOverloadSignature2.types | 3 - ...uplicateIdentifierDifferentModifiers.types | 6 - .../reference/duplicateIdentifierEnum.types | 2 - .../duplicateIdentifierRelatedSpans3.types | 4 - .../duplicateIdentifierRelatedSpans4.types | 4 - .../duplicateIdentifierRelatedSpans5.types | 4 - .../duplicateIdentifierRelatedSpans6.types | 4 - .../duplicateIdentifierRelatedSpans7.types | 4 - ...IdentifiersAcrossContainerBoundaries.types | 3 - ...icateIdentifiersAcrossFileBoundaries.types | 4 - .../duplicateInterfaceMembers1.types | 2 - .../reference/duplicateLocalVariable1.types | 4 - .../reference/duplicateLocalVariable2.types | 2 - .../reference/duplicateNumericIndexers.types | 15 +- ...duplicateOverloadInTypeAugmentation1.types | 17 - .../reference/duplicatePackage.types | 3 - .../duplicatePackage_referenceTypes.types | 2 - ...ePackage_relativeImportWithinPackage.types | 2 - ...e_relativeImportWithinPackage_scoped.types | 2 - .../duplicatePackage_subModule.types | 2 - .../reference/duplicatePropertyNames.types | 15 +- .../reference/duplicateStringIndexers.types | 15 +- .../duplicateStringNamedProperty1.types | 2 - .../duplicateSymbolsExportMatching.types | 39 - .../reference/duplicateTypeParameters1.types | 2 - .../reference/duplicateTypeParameters2.types | 6 - .../reference/duplicateTypeParameters3.types | 4 - .../reference/duplicateVarAndImport.types | 2 - .../duplicateVarsAcrossFileBoundaries.types | 4 - tests/baselines/reference/dynamicNames.types | 41 - .../reference/dynamicNamesErrors.types | 12 - .../reference/elaboratedErrors.types | 11 - ...ionWithExtensionAndTypeArgumentInES6.types | 2 - ...tionWithTypeArgumentAndOverloadInES6.types | 9 - ...lassDeclarationWithTypeArgumentInES6.types | 7 - ...emitClassExpressionInDeclarationFile.types | 10 - ...mitClassExpressionInDeclarationFile2.types | 6 - .../emitDecoratorMetadata_object.types | 2 - .../emitDecoratorMetadata_restArgs.types | 2 - ...otEmittedNodeIfRemoveCommentsIsFalse.types | 1 - .../emptyDeclarationEmitIsModule.types | 2 - .../reference/emptyGenericParamList.types | 2 - tests/baselines/reference/emptyIndexer.types | 6 - .../reference/emptyTypeArgumentList.types | 1 - .../emptyTypeArgumentListWithNew.types | 1 - .../reference/enumAssignability.types | 26 - .../enumAssignabilityInInheritance.types | 63 - .../reference/enumAssignmentCompat.types | 10 - .../reference/enumAssignmentCompat2.types | 10 - .../reference/enumAssignmentCompat3.types | 12 - .../reference/enumAssignmentCompat5.types | 4 - tests/baselines/reference/enumBasics.types | 3 - .../reference/enumGenericTypeClash.types | 3 - ...enumIsNotASubtypeOfAnythingButNumber.types | 78 - ...umLiteralAssignableToEnumInsideUnion.types | 7 - .../reference/enumLiteralTypes1.types | 34 - .../reference/enumLiteralTypes2.types | 34 - .../reference/enumLiteralTypes3.types | 44 - .../baselines/reference/enumOperations.types | 1 - .../reference/enumPropertyAccess.types | 3 - .../reference/enumUsedBeforeDeclaration.types | 2 - .../enumsWithMultipleDeclarations3.types | 1 - .../equalityWithIntersectionTypes01.types | 10 - .../reference/equalityWithUnionTypes01.types | 7 - .../reference/errorElaboration.types | 17 - .../errorForUsingPropertyOfTypeAsType01.types | 12 - .../errorForUsingPropertyOfTypeAsType02.types | 3 - .../errorForUsingPropertyOfTypeAsType03.types | 10 - .../errorLocationForInterfaceExtension.types | 2 - .../errorMessagesIntersectionTypes01.types | 12 - .../errorMessagesIntersectionTypes02.types | 12 - .../errorMessagesIntersectionTypes03.types | 16 - .../errorMessagesIntersectionTypes04.types | 11 - ...rrorOnInitializerInInterfaceProperty.types | 2 - .../baselines/reference/errorSuperCalls.types | 4 - .../reference/errorTypesAsTypeArguments.types | 7 - .../errorsInGenericTypeReference.types | 52 - .../reference/errorsOnImportedSymbol.types | 2 - .../reference/es2017basicAsync.types | 9 - .../reference/es2018ObjectAssign.types | 1 - .../es5-asyncFunctionBinaryExpressions.types | 1 - .../es5-asyncFunctionReturnStatements.types | 6 - .../es5-asyncFunctionTryStatements.types | 2 - .../es5-importHelpersAsyncFunctions.types | 9 - .../es5ExportDefaultClassDeclaration3.types | 3 - .../es5ExportDefaultClassDeclaration4.types | 3 - .../reference/es5ExportEqualsDts.types | 4 - .../es5ModuleInternalNamedImports.types | 4 - tests/baselines/reference/es6ClassTest2.types | 3 - tests/baselines/reference/es6ClassTest4.types | 4 - tests/baselines/reference/es6ClassTest5.types | 1 - tests/baselines/reference/es6ClassTest8.types | 19 - tests/baselines/reference/es6ExportAll.types | 2 - .../reference/es6ExportAllInEs5.types | 2 - .../baselines/reference/es6ExportClause.types | 2 - .../reference/es6ExportClauseInEs5.types | 2 - ...s6ExportClauseWithoutModuleSpecifier.types | 2 - ...ortClauseWithoutModuleSpecifierInEs5.types | 2 - .../reference/es6ExportEqualsInterop.types | 10 - .../es6ImportDefaultBindingMergeErrors.types | 1 - .../es6ImportNameSpaceImportMergeErrors.types | 1 - .../es6ImportNamedImportMergeErrors.types | 4 - ...6ImportNamedImportWithTypesAndValues.types | 7 - ...thoutFromClauseNonInstantiatedModule.types | 7 +- .../es6ModuleInternalNamedImports.types | 4 - .../es6ModuleInternalNamedImports2.types | 4 - .../es6modulekindWithES5Target10.types | 1 - .../es6modulekindWithES5Target12.types | 1 - .../es6modulekindWithES5Target7.types | 3 - .../reference/esModuleInteropImportCall.types | 2 - .../esModuleInteropImportNamespace.types | 2 - ...InteropPrettyErrorRelatedInformation.types | 2 - .../reference/esModuleIntersectionCrash.types | 6 - .../reference/escapedIdentifiers.types | 8 - .../esnextmodulekindWithES5Target10.types | 1 - .../esnextmodulekindWithES5Target12.types | 1 - .../esnextmodulekindWithES5Target7.types | 3 - .../reference/everyTypeAssignableToAny.types | 20 - ...veryTypeWithAnnotationAndInitializer.types | 17 - ...eWithAnnotationAndInvalidInitializer.types | 16 - .../reference/everyTypeWithInitializer.types | 10 - .../excessPropertyCheckWithEmptyObject.types | 5 - .../excessPropertyCheckWithSpread.types | 9 - .../excessPropertyCheckWithUnions.types | 7 - .../excessPropertyErrorForFunctionTypes.types | 2 - ...ustiveSwitchWithWideningLiteralTypes.types | 2 - ...orMetadataUnresolvedTypeObjectInEmit.types | 24 +- .../exponentiationOperatorWithEnum.types | 1 - .../exponentiationOperatorWithEnumUnion.types | 2 - ...entiationOperatorWithInvalidOperands.types | 1 - ...ratorWithNullValueAndInvalidOperands.types | 1 - ...onentiationOperatorWithTypeParameter.types | 2 - ...WithUndefinedValueAndInvalidOperands.types | 1 - .../reference/exportAlreadySeen.types | 2 - .../exportAssignClassAndModule.types | 6 - .../reference/exportAssignTypes.types | 7 - .../reference/exportAssignValueAndType.types | 7 - ...dNamespaceIsVisibleInDeclarationEmit.types | 3 - .../exportAssignedTypeAsTypeAnnotation.types | 5 - ...portAssignmentConstrainedGenericType.types | 3 - .../exportAssignmentGenericType.types | 2 - .../reference/exportAssignmentInterface.types | 3 - ...signmentMembersVisibleInAugmentation.types | 4 - .../exportAssignmentMergedInterface.types | 5 - ...rtAssignmentOfDeclaredExternalModule.types | 3 - .../exportAssignmentOfGenericType1.types | 3 - .../exportAssignmentTopLevelEnumdule.types | 1 - ...nmentWithImportStatementPrivacyError.types | 11 - .../exportAssignmentWithPrivacyError.types | 10 - .../exportClassExtendingIntersection.types | 13 - tests/baselines/reference/exportCodeGen.types | 2 - .../exportDeclarationInInternalModule.types | 1 - ...xportDeclarationsInAmbientNamespaces.types | 1 - ...xportDefaultAlias_excludesEverything.types | 4 - .../exportDefaultAsyncFunction.types | 1 - .../exportDefaultAsyncFunction2.types | 1 - ...xportDefaultForNonInstantiatedModule.types | 3 - .../reference/exportDefaultInterface.types | 3 - .../reference/exportDefaultProperty.types | 3 - .../reference/exportDefaultProperty2.types | 4 - .../reference/exportEqualErrorType.types | 10 - .../reference/exportEqualMemberMissing.types | 10 - .../reference/exportEqualNamespaces.types | 8 - .../reference/exportEqualsOfModule.types | 1 - .../reference/exportEqualsProperty.types | 3 - .../reference/exportEqualsProperty2.types | 4 - tests/baselines/reference/exportImport.types | 1 - .../reference/exportImportAlias.types | 8 - .../reference/exportImportAndClodule.types | 3 - .../exportImportNonInstantiatedModule.types | 4 - .../exportImportNonInstantiatedModule2.types | 2 - .../exportNonInitializedVariablesAMD.types | 4 - ...xportNonInitializedVariablesCommonJS.types | 4 - .../exportNonInitializedVariablesES6.types | 4 - .../exportNonInitializedVariablesSystem.types | 4 - .../exportNonInitializedVariablesUMD.types | 4 - .../reference/exportNonVisibleType.types | 9 - .../reference/exportPrivateType.types | 10 - ...pecifierAndExportedMemberDeclaration.types | 5 - ...rtSpecifierAndLocalMemberDeclaration.types | 5 - .../reference/exportSpecifierForAGlobal.types | 1 - ...pecifierReferencingOuterDeclaration1.types | 4 - ...pecifierReferencingOuterDeclaration2.types | 7 +- ...pecifierReferencingOuterDeclaration3.types | 8 - ...pecifierReferencingOuterDeclaration4.types | 11 +- .../reference/exportStarForValues.types | 1 - .../reference/exportStarForValues10.types | 1 - .../reference/exportStarForValues2.types | 1 - .../reference/exportStarForValues3.types | 4 - .../reference/exportStarForValues4.types | 3 - .../reference/exportStarForValues5.types | 1 - .../reference/exportStarForValues6.types | 1 - .../reference/exportStarForValues7.types | 1 - .../reference/exportStarForValues8.types | 4 - .../reference/exportStarForValues9.types | 3 - .../exportStarForValuesInSystem.types | 1 - .../reference/exportStarFromEmptyModule.types | 1 - .../reference/exportVisibility.types | 1 - ...erfaceInaccessibleInCallbackInModule.types | 14 - .../exportingContainingVisibleType.types | 1 - .../reference/exportsAndImports1-amd.types | 4 - .../reference/exportsAndImports1-es6.types | 4 - .../reference/exportsAndImports1.types | 4 - .../reference/exportsAndImports3-amd.types | 4 - .../reference/exportsAndImports3-es6.types | 4 - .../reference/exportsAndImports3.types | 4 - tests/baselines/reference/expr.types | 3 - .../expressionTypeNodeShouldError.types | 15 - .../extendAndImplementTheSameBaseType.types | 3 - .../extendAndImplementTheSameBaseType2.types | 4 - tests/baselines/reference/extendArray.types | 6 - .../reference/extendBooleanInterface.types | 5 - .../extendConstructSignatureInInterface.types | 5 - .../reference/extendGenericArray.types | 4 - .../reference/extendGenericArray2.types | 8 - .../reference/extendNumberInterface.types | 5 - .../reference/extendStringInterface.types | 5 - .../extendedInterfaceGenericType.types | 12 - ...nterfacesWithDuplicateTypeParameters.types | 11 - ...ndingClassFromAliasAndUsageInIndexer.types | 4 - .../reference/extendsClauseAlreadySeen2.types | 2 - tests/baselines/reference/extension.types | 5 - .../reference/externModuleClobber.types | 3 - .../reference/externalModuleAssignToVar.types | 3 - .../externalModuleExportingGenericClass.types | 3 - .../externalModuleQualification.types | 5 - .../externalModuleWithoutCompilerFlag1.types | 6 +- ...backToBindingPatternForTypeInference.types | 2 - tests/baselines/reference/fatArrowSelf.types | 4 - .../reference/fatArrowfunctionAsType.types | 6 - ...illInMissingTypeArgsOnConstructCalls.types | 3 - ...lInMissingTypeArgsOnJSConstructCalls.types | 7 - ...rameterInSignatureWithRestParameters.types | 3 - .../fixingTypeParametersRepeatedly1.types | 14 - .../fixingTypeParametersRepeatedly2.types | 22 - .../fixingTypeParametersRepeatedly3.types | 22 - .../flowControlTypeGuardThenSwitch.types | 19 - .../baselines/reference/flowInFinally1.types | 1 - tests/baselines/reference/fluentClasses.types | 1 - .../reference/fluentInterfaces.types | 9 - .../reference/for-inStatements.types | 7 - .../reference/for-inStatementsArray.types | 1 - .../for-inStatementsArrayErrors.types | 1 - .../reference/for-inStatementsInvalid.types | 6 - tests/baselines/reference/for-of29.types | 1 - tests/baselines/reference/for-of57.types | 1 - .../reference/forAwaitForUnion.types | 5 - .../baselines/reference/forInStatement3.types | 2 - .../reference/forOfStringConstituents.types | 12 - tests/baselines/reference/forStatements.types | 17 - .../forStatementsMultipleInvalidDecl.types | 12 - .../forStatementsMultipleValidDecl.types | 3 - .../freshLiteralTypesInIntersections.types | 7 - tests/baselines/reference/funcdecl.types | 1 - ...nctionAndInterfaceWithSeparateErrors.types | 2 - .../reference/functionArgShadowing.types | 2 - .../reference/functionAssignment.types | 8 - tests/baselines/reference/functionCall5.types | 1 - tests/baselines/reference/functionCall7.types | 1 - ...unctionCallOnConstrainedTypeVariable.types | 7 - tests/baselines/reference/functionCalls.types | 6 - .../functionConstraintSatisfaction.types | 46 - .../functionConstraintSatisfaction2.types | 26 - .../functionConstraintSatisfaction3.types | 31 - ...WithResolutionOfTypeNamedArguments01.types | 2 - ...tionWithResolutionOfTypeOfSameName01.types | 2 - ...onExpressionAndLambdaMatchesFunction.types | 1 - .../functionExpressionContextualTyping1.types | 11 - ...WithResolutionOfTypeNamedArguments01.types | 2 - ...sionWithResolutionOfTypeOfSameName01.types | 2 - ...sionWithResolutionOfTypeOfSameName02.types | 2 - .../reference/functionImplementations.types | 5 - .../baselines/reference/functionLiteral.types | 5 - .../functionLiteralForOverloads.types | 10 - .../functionLiteralForOverloads2.types | 13 - .../reference/functionLiterals.types | 14 - .../reference/functionOverloadErrors.types | 32 - .../reference/functionOverloads44.types | 12 - .../reference/functionOverloads45.types | 12 - .../functionOverloadsOnGenericArity1.types | 13 - .../functionOverloadsOnGenericArity2.types | 6 - ...nOverloadsRecursiveGenericReturnType.types | 17 - .../functionSignatureAssignmentCompat1.types | 10 - .../functionTypeArgumentArrayAssignment.types | 6 - ...functionTypeArgumentAssignmentCompat.types | 6 - .../functionTypesLackingReturnTypes.types | 2 - ...functionWithMultipleReturnStatements.types | 11 - ...unctionWithMultipleReturnStatements2.types | 4 - ...ExportedClassIsUsedBeforeDeclaration.types | 4 - .../funduleUsedAcrossFileBoundary.types | 10 - tests/baselines/reference/fuzzy.types | 14 - .../reference/generatedContextualTyping.types | 437 -- .../generativeRecursionWithTypeOf.types | 2 - .../reference/generatorOverloads1.types | 3 - .../reference/generatorOverloads2.types | 3 - .../reference/generatorOverloads3.types | 3 - .../reference/generatorOverloads4.types | 3 - .../reference/generatorOverloads5.types | 3 - .../generatorReturnExpressionIsChecked.types | 1 - .../reference/generatorTypeCheck1.types | 1 - .../reference/generatorTypeCheck10.types | 1 - .../reference/generatorTypeCheck11.types | 1 - .../reference/generatorTypeCheck12.types | 1 - .../reference/generatorTypeCheck13.types | 1 - .../reference/generatorTypeCheck17.types | 2 - .../reference/generatorTypeCheck18.types | 2 - .../reference/generatorTypeCheck19.types | 2 - .../reference/generatorTypeCheck2.types | 1 - .../reference/generatorTypeCheck20.types | 2 - .../reference/generatorTypeCheck21.types | 2 - .../reference/generatorTypeCheck25.types | 2 - .../reference/generatorTypeCheck26.types | 1 - .../reference/generatorTypeCheck27.types | 1 - .../reference/generatorTypeCheck28.types | 1 - .../reference/generatorTypeCheck29.types | 2 - .../reference/generatorTypeCheck3.types | 1 - .../reference/generatorTypeCheck30.types | 2 - .../reference/generatorTypeCheck31.types | 2 - .../reference/generatorTypeCheck45.types | 9 - .../reference/generatorTypeCheck46.types | 9 - .../reference/generatorTypeCheck62.types | 28 - .../reference/generatorTypeCheck63.types | 31 - .../reference/generatorTypeCheck7.types | 4 - .../reference/generatorTypeCheck8.types | 5 - ...ericAndNonGenericInheritedSignature1.types | 10 - ...ericAndNonGenericInheritedSignature2.types | 10 - ...ndNonGenericInterfaceWithTheSameName.types | 34 - ...dNonGenericInterfaceWithTheSameName2.types | 22 - .../genericAndNonGenericOverload1.types | 9 - ...nericArgumentCallSigAssignmentCompat.types | 18 - tests/baselines/reference/genericArray0.types | 2 - .../genericArrayAssignmentCompatErrors.types | 2 - .../reference/genericArrayExtenstions.types | 9 - .../genericArrayWithoutTypeAnnotation.types | 3 - ...ssignmentCompatOfFunctionSignatures1.types | 10 - ...nericAssignmentCompatWithInterfaces1.types | 24 - .../genericBaseClassLiteralProperty.types | 3 - .../genericBaseClassLiteralProperty2.types | 5 - .../genericCallSpecializedToTypeArg.types | 6 - ...rloadedMethodWithOverloadedArguments.types | 110 - .../genericCallTypeArgumentInference.types | 74 - .../genericCallWithArrayLiteralArgs.types | 3 - ...WithConstraintsTypeArgumentInference.types | 113 - ...ithConstraintsTypeArgumentInference2.types | 9 - ...icCallWithConstructorTypedArguments5.types | 14 - .../genericCallWithFixedArguments.types | 4 - ...enericCallWithFunctionTypedArguments.types | 31 - ...nericCallWithFunctionTypedArguments2.types | 29 - ...nericCallWithFunctionTypedArguments3.types | 9 - ...nericCallWithFunctionTypedArguments4.types | 11 - ...nericCallWithFunctionTypedArguments5.types | 16 - ...ricCallWithGenericSignatureArguments.types | 31 - ...icCallWithGenericSignatureArguments2.types | 69 - ...icCallWithGenericSignatureArguments3.types | 24 - .../genericCallWithNonGenericArgs1.types | 1 - .../genericCallWithNonSymmetricSubtypes.types | 5 - .../genericCallWithObjectLiteralArgs.types | 4 - ...nericCallWithObjectLiteralArguments1.types | 4 - .../genericCallWithObjectTypeArgs.types | 10 - .../genericCallWithObjectTypeArgs2.types | 22 - ...CallWithObjectTypeArgsAndConstraints.types | 17 - ...allWithObjectTypeArgsAndConstraints2.types | 21 - ...allWithObjectTypeArgsAndConstraints3.types | 17 - ...allWithObjectTypeArgsAndConstraints4.types | 13 - ...allWithObjectTypeArgsAndConstraints5.types | 13 - ...ricCallWithObjectTypeArgsAndIndexers.types | 9 - ...lWithObjectTypeArgsAndIndexersErrors.types | 14 - ...allWithObjectTypeArgsAndInitializers.types | 32 - ...lWithObjectTypeArgsAndNumericIndexer.types | 16 - ...llWithObjectTypeArgsAndStringIndexer.types | 18 - ...hOverloadedConstructorTypedArguments.types | 27 - ...OverloadedConstructorTypedArguments2.types | 26 - ...WithOverloadedFunctionTypedArguments.types | 29 - ...ithOverloadedFunctionTypedArguments2.types | 27 - .../reference/genericCallWithTupleType.types | 8 - .../reference/genericCallWithoutArgs.types | 4 - ...kInvokedInsideItsContainingFunction1.types | 6 - .../genericCallbacksAndClassHierarchy.types | 21 - .../reference/genericCallsWithoutParens.types | 3 - .../reference/genericChainedCalls.types | 9 - .../genericClassExpressionInFunction.types | 9 - ...ingGenericInterfaceFromAnotherModule.types | 8 - ...heritsConstructorFromNonGenericClass.types | 1 - ...assPropertyInheritanceSpecialization.types | 67 - .../reference/genericClassStaticMethod.types | 3 - ...lassWithFunctionTypedMemberArguments.types | 49 - ...lassWithObjectTypeArgsAndConstraints.types | 47 - .../genericClassWithStaticFactory.types | 57 - ...icClassWithStaticsUsingTypeArguments.types | 8 - .../baselines/reference/genericClasses0.types | 3 - .../baselines/reference/genericClasses1.types | 2 - .../baselines/reference/genericClasses2.types | 10 - .../baselines/reference/genericClasses3.types | 7 - .../baselines/reference/genericClasses4.types | 22 - .../reference/genericClassesInModule.types | 2 - .../reference/genericClassesInModule2.types | 16 - .../genericClassesRedeclaration.types | 64 - .../reference/genericCloduleInModule.types | 2 - .../reference/genericCloduleInModule2.types | 2 - .../reference/genericCloneReturnTypes.types | 5 - .../reference/genericCloneReturnTypes2.types | 8 - .../reference/genericCombinators2.types | 34 - .../reference/genericConstraint1.types | 6 - .../reference/genericConstraint2.types | 11 - .../reference/genericConstraint3.types | 11 - .../genericConstraintDeclaration.types | 4 - ...ericConstraintOnExtendedBuiltinTypes.types | 11 - ...ricConstraintOnExtendedBuiltinTypes2.types | 12 - .../genericConstraintSatisfaction1.types | 7 - ...enericConstructExpressionWithoutArgs.types | 2 - ...ericConstructInvocationWithNoTypeArg.types | 6 - ...genericConstructSignatureInInterface.types | 5 - .../genericConstructorFunction1.types | 12 - .../reference/genericContextualTypes1.types | 115 - .../baselines/reference/genericDefaults.types | 602 --- .../reference/genericDefaultsErrors.types | 66 - .../reference/genericDefaultsJs.types | 16 - ...enericDerivedTypeWithSpecializedBase.types | 6 - ...nericDerivedTypeWithSpecializedBase2.types | 6 - ...ctionCallSignatureReturnTypeMismatch.types | 7 - .../genericFunctionHasFreshTypeArgs.types | 2 - .../reference/genericFunctionParameters.types | 22 - .../genericFunctionSpecializations1.types | 7 - ...enericFunctionTypedArgumentsAreFixed.types | 6 - .../reference/genericFunctions0.types | 2 - .../reference/genericFunctions1.types | 2 - .../reference/genericFunctions2.types | 6 - .../reference/genericFunctions3.types | 11 - ...ericFunctionsWithOptionalParameters1.types | 12 - ...ericFunctionsWithOptionalParameters2.types | 12 - ...ericFunctionsWithOptionalParameters3.types | 25 - .../reference/genericFunduleInModule.types | 3 - .../reference/genericFunduleInModule2.types | 3 - tests/baselines/reference/genericGetter.types | 3 - .../baselines/reference/genericGetter2.types | 5 - .../baselines/reference/genericGetter3.types | 6 - .../reference/genericImplements.types | 16 - ...ericIndexTypeHasSensibleErrorMessage.types | 2 - .../reference/genericInference2.types | 11 - .../genericInheritedDefaultConstructors.types | 12 - .../reference/genericInstanceOf.types | 5 - ...stantiationEquivalentToObjectLiteral.types | 15 - ...enericInterfaceFunctionTypeParameter.types | 6 - .../genericInterfaceImplementation.types | 15 - .../reference/genericInterfaceTypeCall.types | 11 - ...enericInterfacesWithoutTypeArguments.types | 7 - .../genericLambaArgWithoutTypeArguments.types | 5 - .../reference/genericMemberFunction.types | 49 - ...cMergedDeclarationUsingTypeParameter.types | 7 - ...MergedDeclarationUsingTypeParameter2.types | 4 - .../genericMethodOverspecialization.types | 6 - .../reference/genericNewInterface.types | 11 - .../reference/genericNumberIndex.types | 2 - ...genericObjectCreationWithoutTypeArgs.types | 1 - .../genericObjectLitReturnType.types | 3 - .../reference/genericOfACloduleType1.types | 4 - .../reference/genericOfACloduleType2.types | 4 - .../reference/genericOverloadSignatures.types | 46 +- .../genericParameterAssignability1.types | 5 - .../reference/genericPrototypeProperty.types | 4 - .../reference/genericPrototypeProperty2.types | 7 - .../reference/genericPrototypeProperty3.types | 4 - ...cRecursiveImplicitConstructorErrors1.types | 24 - ...cRecursiveImplicitConstructorErrors2.types | 22 - ...cRecursiveImplicitConstructorErrors3.types | 23 - .../baselines/reference/genericRestArgs.types | 8 - .../reference/genericRestArity.types | 3 - .../reference/genericRestArityStrict.types | 3 - .../reference/genericRestParameters1.types | 80 - .../reference/genericRestParameters2.types | 27 - .../reference/genericRestTypes.types | 21 - .../genericReturnTypeFromGetter1.types | 8 - .../genericReversingTypeParameters.types | 10 - .../genericReversingTypeParameters2.types | 10 - .../reference/genericSignatureIdentity.types | 11 - .../genericSignatureInheritance.types | 6 - .../genericSignatureInheritance2.types | 9 - .../genericSpecializationToTypeLiteral1.types | 85 - .../reference/genericSpecializations1.types | 12 - .../reference/genericSpecializations2.types | 12 - .../reference/genericSpecializations3.types | 17 - .../genericStaticAnyTypeFunction.types | 7 - .../genericTemplateOverloadResolution.types | 10 - .../reference/genericTypeAliases.types | 54 - .../genericTypeArgumentInference1.types | 19 - .../reference/genericTypeAssertions1.types | 7 - .../reference/genericTypeAssertions2.types | 15 - .../reference/genericTypeAssertions3.types | 6 - .../reference/genericTypeAssertions4.types | 9 - .../reference/genericTypeAssertions5.types | 17 - .../reference/genericTypeAssertions6.types | 30 - .../reference/genericTypeConstraints.types | 3 - .../genericTypeParameterEquivalence2.types | 37 - ...icTypeReferenceWithoutTypeArgument.d.types | 20 - ...ericTypeReferenceWithoutTypeArgument.types | 33 - ...ricTypeReferenceWithoutTypeArgument2.types | 39 - ...ricTypeReferenceWithoutTypeArgument3.types | 20 - ...genericTypeReferencesRequireTypeArgs.types | 12 - ...genericTypeUsedWithoutTypeArguments1.types | 5 - ...genericTypeUsedWithoutTypeArguments3.types | 11 +- .../genericTypeWithCallableMembers.types | 7 - .../genericTypeWithCallableMembers2.types | 4 - .../genericTypeWithMultipleBases1.types | 11 - .../genericTypeWithMultipleBases2.types | 11 - .../genericTypeWithMultipleBases3.types | 15 - ...enericTypeWithNonGenericBaseMisMatch.types | 6 - ...CallSignatureReturningSpecialization.types | 6 - .../genericWithCallSignatures1.types | 11 - ...nericWithIndexerOfTypeParameterType1.types | 2 - ...nericWithIndexerOfTypeParameterType2.types | 4 - .../genericWithOpenTypeParameters1.types | 15 - tests/baselines/reference/generics0.types | 5 - tests/baselines/reference/generics1.types | 28 - .../reference/generics1NoError.types | 22 - tests/baselines/reference/generics2.types | 25 - .../reference/generics2NoError.types | 19 - tests/baselines/reference/generics3.types | 8 - tests/baselines/reference/generics4.types | 8 - .../reference/generics4NoError.types | 8 - tests/baselines/reference/generics5.types | 12 - .../genericsAndHigherOrderFunctions.types | 47 - .../genericsManyTypeParameters.types | 234 - ...genericsWithDuplicateTypeParameters1.types | 34 - .../genericsWithoutTypeParameters1.types | 32 - ...pliedReturnTypeAndFunctionClassMerge.types | 20 - .../getAndSetNotIdenticalType2.types | 8 - .../getAndSetNotIdenticalType3.types | 6 - .../reference/getterSetterNonAccessor.types | 1 - .../reference/gettersAndSetters.types | 3 - tests/baselines/reference/giant.types | 80 - .../globalFunctionAugmentationOverload.types | 1 - .../reference/globalIsContextualKeyword.types | 1 - .../reference/grammarAmbiguities.types | 8 - .../reference/grammarAmbiguities1.types | 6 - .../heterogeneousArrayLiterals.types | 30 - .../reference/hidingCallSignatures.types | 13 - .../reference/hidingConstructSignatures.types | 13 - .../reference/hidingIndexSignatures.types | 7 - ...igherOrderMappedIndexLookupInference.types | 37 - tests/baselines/reference/i3.types | 2 - tests/baselines/reference/icomparable.types | 11 - .../reference/identicalCallSignatures.types | 21 - .../reference/identicalCallSignatures2.types | 11 - .../reference/identicalCallSignatures3.types | 10 - ...orSignaturesWithTypeParametersAndAny.types | 32 - ...SignaturesWithTypeParametersSwitched.types | 10 - .../reference/ifDoWhileStatements.types | 14 - .../reference/illegalGenericWrapping1.types | 19 - .../reference/implementArrayInterface.types | 63 - .../implementClausePrecedingExtends.types | 1 - .../implementGenericWithMismatchedTypes.types | 18 - .../implementInterfaceAnyMemberWithVoid.types | 3 - .../implementPublicPropertyAsPrivate.types | 3 - ...nInterfaceExtendingClassWithPrivates.types | 7 - ...InterfaceExtendingClassWithPrivates2.types | 19 - ...nterfaceExtendingClassWithProtecteds.types | 11 - .../implementsClauseAlreadySeen.types | 2 - .../implementsInClassExpression.types | 3 - .../implementsIncorrectlyNoAssertion.types | 3 - .../reference/implicitAnyAmbients.types | 2 - .../implicitAnyDeclareMemberWithoutType.types | 2 - ...citAnyDeclareTypePropertyWithoutType.types | 2 - .../implicitAnyFromCircularInference.types | 4 - ...ionOverloadWithImplicitAnyReturnType.types | 4 - .../implicitAnyGenericTypeInference.types | 8 - .../reference/implicitAnyGenerics.types | 8 - .../reference/implicitAnyWidenToAny.types | 1 - .../reference/implicitIndexSignatures.types | 7 - .../reference/importAliasFromNamespace.types | 1 - .../reference/importAliasIdentifiers.types | 12 - .../baselines/reference/importAnImport.types | 6 - .../importCallExpression2ESNext.types | 1 - ...importCallExpressionCheckReturntype1.types | 3 - ...importCallExpressionDeclarationEmit3.types | 3 - .../importCallExpressionInAMD2.types | 1 - .../importCallExpressionInCJS2.types | 1 - .../importCallExpressionInCJS3.types | 1 - .../importCallExpressionInSystem2.types | 1 - .../importCallExpressionInUMD2.types | 1 - ...portCallExpressionReturnPromiseOfAny.types | 4 - ...importCallExpressionWithTypeArgument.types | 1 - tests/baselines/reference/importDecl.types | 9 - .../baselines/reference/importDeclTypes.types | 2 - .../importDeclWithClassModifiers.types | 4 - .../importDeclWithDeclareModifier.types | 4 - ...lWithDeclareModifierInAmbientContext.types | 4 - .../importDeclWithExportModifier.types | 4 - ...ithExportModifierAndExportAssignment.types | 3 - ...rAndExportAssignmentInAmbientContext.types | 3 - ...clWithExportModifierInAmbientContext.types | 4 - ...mportDeclarationInModuleDeclaration1.types | 2 - tests/baselines/reference/importHelpers.types | 13 - .../reference/importHelpersAmd.types | 9 - .../reference/importHelpersES6.types | 8 - .../importHelpersInAmbientContext.types | 19 - .../importHelpersInIsolatedModules.types | 8 - .../reference/importHelpersInTsx.types | 8 - .../reference/importHelpersOutFile.types | 8 - .../reference/importHelpersSystem.types | 8 - .../reference/importInTypePosition.types | 2 - tests/baselines/reference/importMeta.types | 3 - tests/baselines/reference/importMetaES5.types | 3 - .../importOnAliasedIdentifiers.types | 4 - ...rtShouldNotBeElidedInDeclarationEmit.types | 1 - .../reference/importStatements.types | 4 - .../importStatementsInterfaces.types | 14 - .../reference/importTypeAmbient.types | 13 - .../reference/importTypeAmbientMissing.types | 2 - .../importTypeAmdBundleRewrite.types | 3 - .../reference/importTypeGeneric.types | 12 - .../reference/importTypeGenericTypes.types | 24 - .../reference/importTypeInJSDoc.types | 5 - .../baselines/reference/importTypeLocal.types | 13 - .../reference/importTypeLocalMissing.types | 14 - .../reference/importTypeNested.types | 2 - .../reference/importTypeNestedNoRef.types | 2 - .../importTypeResolutionJSDocEOF.types | 2 - .../importUsedAsTypeWithErrors.types | 2 - .../reference/importUsedInExtendsList1.types | 1 - .../importUsedInGenericImportResolves.types | 5 - ...ferenecing-aliased-type-throug-array.types | 3 - .../importedAliasesInTypePositions.types | 1 - .../reference/importedModuleAddToGlobal.types | 3 - .../importedModuleClassNameClash.types | 1 - .../reference/inKeywordTypeguard.types | 19 - .../reference/inOperatorWithGeneric.types | 2 - .../inOperatorWithInvalidOperands.types | 1 - .../inOperatorWithValidOperands.types | 8 - ...bleAssignmentOfIdenticallyNamedTypes.types | 5 - .../reference/incompatibleExports1.types | 3 - .../reference/incompatibleExports2.types | 3 - .../reference/incompatibleGenericTypes.types | 9 - .../reference/incompatibleTypes.types | 19 - ...rOfTypeArgumentsDuringErrorReporting.types | 21 - ...correctRecursiveMappedTypeConstraint.types | 7 - .../reference/incrementOnNullAssertion.types | 5 - .../reference/incrementOnTypeParameter.types | 3 - .../reference/indexIntoArraySubclass.types | 6 - .../indexSignatureAndMappedType.types | 26 - ...indexSignatureMustHaveTypeAnnotation.types | 2 - .../reference/indexSignatureTypeCheck.types | 4 - .../reference/indexSignatureTypeCheck2.types | 3 - .../indexSignatureTypeInference.types | 21 - ...exSignatureWithAccessibilityModifier.types | 2 - .../indexSignatureWithInitializer.types | 2 - .../indexSignaturesInferentialTyping.types | 6 - .../baselines/reference/indexTypeCheck.types | 23 - .../reference/indexWithUndefinedAndNull.types | 6 - ...WithUndefinedAndNullStrictNullChecks.types | 6 - .../indexedAccessCanBeHighOrder.types | 19 - .../indexedAccessImplicitlyAny.types | 2 - .../reference/indexedAccessRelation.types | 17 - .../indexedAccessRetainsIndexSignature.types | 35 - .../indexedAccessTypeConstraints.types | 30 - tests/baselines/reference/indexer.types | 6 - tests/baselines/reference/indexer2.types | 6 - tests/baselines/reference/indexer2A.types | 2 - tests/baselines/reference/indexer3.types | 2 - tests/baselines/reference/indexerA.types | 2 - .../reference/indexerAsOptional.types | 2 - .../reference/indexerConstraints.types | 36 - .../reference/indexerConstraints2.types | 37 - .../indexerReturningTypeParameter1.types | 8 - .../indexerSignatureWithRestParam.types | 2 - .../reference/indexersInClassType.types | 3 - .../reference/indexingTypesWithNever.types | 138 - .../indirectSelfReferenceGeneric.types | 4 - .../indirectTypeParameterReferences.types | 9 - ...inferFromGenericFunctionReturnTypes1.types | 63 - ...inferFromGenericFunctionReturnTypes2.types | 100 - ...erObjectTypeFromStringLiteralToKeyof.types | 7 - ...erParameterWithMethodCallInitializer.types | 2 - .../reference/inferSecondaryParameter.types | 4 - ...gumentsInSignatureWithRestParameters.types | 6 - tests/baselines/reference/inferTypes1.types | 272 -- tests/baselines/reference/inferTypes2.types | 22 - .../inferenceFromParameterlessLambda.types | 13 - .../baselines/reference/inferenceLimit.types | 8 - ...nferentialTypingObjectLiteralMethod1.types | 16 - ...nferentialTypingObjectLiteralMethod2.types | 16 - .../inferentialTypingUsingApparentType1.types | 3 - .../inferentialTypingUsingApparentType2.types | 3 - .../inferentialTypingUsingApparentType3.types | 11 - .../inferentialTypingWithFunctionType.types | 9 - .../inferentialTypingWithFunctionType2.types | 3 - ...erentialTypingWithFunctionTypeNested.types | 9 - ...ngWithFunctionTypeSyntacticScenarios.types | 12 - ...inferentialTypingWithFunctionTypeZip.types | 15 - ...ialTypingWithObjectLiteralProperties.types | 4 - .../inferentiallyTypingAnEmptyArray.types | 3 - .../baselines/reference/inferingFromAny.types | 90 - .../reference/inferringAnyFunctionType1.types | 3 - .../reference/inferringAnyFunctionType2.types | 3 - .../reference/inferringAnyFunctionType3.types | 3 - .../reference/inferringAnyFunctionType4.types | 3 - .../reference/inferringAnyFunctionType5.types | 3 - ...gTypeThroughInheritanceInstantiation.types | 12 - ...nfiniteExpansionThroughInstantiation.types | 22 - ...finiteExpansionThroughInstantiation2.types | 9 - ...nfiniteExpansionThroughTypeInference.types | 10 - .../infinitelyExpandingBaseTypes1.types | 15 - .../infinitelyExpandingBaseTypes2.types | 10 - .../infinitelyExpandingOverloads.types | 38 - ...infinitelyExpandingTypeAssignability.types | 20 - .../reference/infinitelyExpandingTypes1.types | 21 - .../reference/infinitelyExpandingTypes2.types | 13 - .../reference/infinitelyExpandingTypes3.types | 22 - .../reference/infinitelyExpandingTypes4.types | 30 - .../reference/infinitelyExpandingTypes5.types | 19 - ...finitelyExpandingTypesNonGenericBase.types | 17 - .../infinitelyGenerativeInheritance1.types | 21 - .../inheritFromGenericTypeParameter.types | 5 - ...rivatePropertiesFromDifferentOrigins.types | 4 - ...eNamePrivatePropertiesFromSameOrigin.types | 4 - ...mePropertiesWithDifferentOptionality.types | 8 - ...amePropertiesWithDifferentVisibility.types | 4 - tests/baselines/reference/inheritance1.types | 14 - ...heritanceOfGenericConstructorMethod1.types | 8 - ...heritanceOfGenericConstructorMethod2.types | 3 - .../inheritanceStaticMembersCompatible.types | 2 - .../inheritedConstructorWithRestParams2.types | 22 - ...ritedFunctionAssignmentCompatibility.types | 3 - .../inheritedGenericCallSignature.types | 12 - ...AndIndexSignaturesFromDifferentBases.types | 25 - ...ndIndexSignaturesFromDifferentBases2.types | 10 - ...ritedOverloadedSpecializedSignatures.types | 26 - ...StringIndexersFromDifferentBaseTypes.types | 25 - ...tringIndexersFromDifferentBaseTypes2.types | 16 - ...tializerReferencingConstructorLocals.types | 2 - ...izerReferencingConstructorParameters.types | 2 - .../inlineJsxFactoryDeclarations.types | 4 - ...lineJsxFactoryDeclarationsLocalTypes.types | 40 - ...ineJsxFactoryLocalTypeGlobalFallback.types | 22 - ...ineJsxFactoryOverridesCompilerOption.types | 4 - .../inlineJsxFactoryWithFragmentIsError.types | 4 - tests/baselines/reference/innerAliases.types | 1 - tests/baselines/reference/innerAliases2.types | 3 - .../reference/innerBoundLambdaEmit.types | 4 - .../innerTypeArgumentInference.types | 8 - .../innerTypeParameterShadowingOuterOne.types | 16 - ...innerTypeParameterShadowingOuterOne2.types | 16 - .../instanceAndStaticDeclarations1.types | 3 - .../reference/instanceOfAssignability.types | 22 - ...ancePropertiesInheritedIntoClassType.types | 11 - .../instancePropertyInClassType.types | 6 - .../reference/instanceSubtypeCheck1.types | 12 - .../reference/instanceSubtypeCheck2.types | 5 - .../reference/instanceofOperator.types | 1 - ...nstanceofOperatorWithInvalidOperands.types | 2 - ...eofOperatorWithInvalidStaticToString.types | 3 - .../instanceofOperatorWithLHSIsObject.types | 4 - ...anceofOperatorWithLHSIsTypeParameter.types | 2 - ...ofOperatorWithRHSIsSubtypeOfFunction.types | 4 - ...anceofWithStructurallyIdenticalTypes.types | 22 - ...stantiateConstraintsToTypeArguments2.types | 30 +- ...tantiateContextuallyTypedGenericThis.types | 9 - .../reference/instantiateCrossFileMerge.types | 5 - ...cClassWithWrongNumberOfTypeArguments.types | 6 - ...ateGenericClassWithZeroTypeArguments.types | 6 - .../reference/instantiateTypeParameter.types | 4 - .../instantiatedBaseTypeConstraints.types | 10 - .../instantiatedBaseTypeConstraints2.types | 21 +- .../reference/instantiatedModule.types | 7 - ...instantiatedReturnTypeContravariance.types | 5 - .../instantiatedTypeAliasDisplay.types | 28 - tests/baselines/reference/intTypeCheck.types | 112 - .../interMixingModulesInterfaces0.types | 4 - .../interMixingModulesInterfaces1.types | 4 - .../interMixingModulesInterfaces2.types | 4 - .../interMixingModulesInterfaces3.types | 4 - .../interMixingModulesInterfaces4.types | 2 - .../interMixingModulesInterfaces5.types | 2 - tests/baselines/reference/interface0.types | 5 - .../reference/interfaceAssignmentCompat.types | 10 - .../reference/interfaceClassMerging.types | 2 - .../reference/interfaceClassMerging2.types | 4 - .../reference/interfaceContextualType.types | 6 - .../reference/interfaceDeclaration1.types | 29 - .../reference/interfaceDeclaration2.types | 9 - .../reference/interfaceDeclaration3.types | 25 - .../reference/interfaceDeclaration4.types | 21 - .../reference/interfaceDeclaration5.types | 1 - .../reference/interfaceDeclaration6.types | 7 - .../interfaceDoesNotDependOnBaseTypes.types | 6 - .../reference/interfaceExtendingClass.types | 5 - .../reference/interfaceExtendingClass2.types | 4 - .../interfaceExtendingClassWithPrivates.types | 7 - ...interfaceExtendingClassWithPrivates2.types | 12 - ...nterfaceExtendingClassWithProtecteds.types | 7 - ...terfaceExtendingClassWithProtecteds2.types | 12 - .../reference/interfaceExtendsClass1.types | 3 - .../interfaceExtendsClassWithPrivate1.types | 7 - .../interfaceExtendsClassWithPrivate2.types | 5 - .../interfaceExtendsObjectIntersection.types | 58 - ...rfaceExtendsObjectIntersectionErrors.types | 53 - .../reference/interfaceImplementation1.types | 17 - .../reference/interfaceImplementation2.types | 3 - .../reference/interfaceImplementation3.types | 3 - .../reference/interfaceImplementation4.types | 3 - .../reference/interfaceImplementation5.types | 8 - .../reference/interfaceImplementation6.types | 6 - .../reference/interfaceImplementation7.types | 10 - .../reference/interfaceImplementation8.types | 10 - .../reference/interfaceInReopenedModule.types | 4 - .../reference/interfaceInheritance.types | 18 - .../reference/interfaceInheritance2.types | 5 - .../interfaceMayNotBeExtendedWitACall.types | 2 - .../reference/interfaceMemberValidation.types | 5 - .../reference/interfaceNameAsIdentifier.types | 6 - .../reference/interfaceNaming1.types | 2 - tests/baselines/reference/interfaceOnly.types | 2 - .../interfacePropertiesWithSameName1.types | 8 - .../interfacePropertiesWithSameName2.types | 19 - .../interfacePropertiesWithSameName3.types | 8 - .../reference/interfaceSubtyping.types | 3 - .../interfaceThatHidesBaseProperty.types | 5 - .../interfaceThatHidesBaseProperty2.types | 5 - ...faceThatIndirectlyInheritsFromItself.types | 26 - .../interfaceThatInheritsFromItself.types | 36 +- .../interfaceWithAccessibilityModifiers.types | 2 - ...terfaceWithCallAndConstructSignature.types | 3 - ...CallSignaturesThatHidesBaseSignature.types | 6 - ...allSignaturesThatHidesBaseSignature2.types | 6 - .../interfaceWithCommaSeparators.types | 1 - ...ructSignaturesThatHidesBaseSignature.types | 6 - ...uctSignaturesThatHidesBaseSignature2.types | 6 - .../reference/interfaceWithImplements1.types | 10 +- .../interfaceWithMultipleBaseTypes.types | 56 - .../interfaceWithMultipleBaseTypes2.types | 16 - .../interfaceWithMultipleDeclarations.types | 39 - .../interfaceWithOptionalProperty.types | 2 - ...OverloadedCallAndConstructSignatures.types | 4 - .../interfaceWithPrivateMember.types | 6 - .../interfaceWithPropertyOfEveryType.types | 13 - ...eWithPropertyThatIsPrivateInBaseType.types | 10 - ...WithPropertyThatIsPrivateInBaseType2.types | 9 - ...pecializedCallAndConstructSignatures.types | 4 - ...thStringIndexerHidingBaseTypeIndexer.types | 5 - ...hStringIndexerHidingBaseTypeIndexer2.types | 5 - ...hStringIndexerHidingBaseTypeIndexer3.types | 5 - tests/baselines/reference/interfacedecl.types | 15 - .../interfacedeclWithIndexerErrors.types | 15 - ...interfacesWithPredefinedTypesAsNames.types | 8 - .../reference/internalAliasClass.types | 1 - .../reference/internalAliasEnum.types | 1 - ...AliasEnumInsideLocalModuleWithExport.types | 1 - ...asEnumInsideLocalModuleWithoutExport.types | 1 - ...eLocalModuleWithoutExportAccessError.types | 1 - ...asEnumInsideTopLevelModuleWithExport.types | 1 - ...numInsideTopLevelModuleWithoutExport.types | 1 - .../internalAliasInitializedModule.types | 1 - ...zedModuleInsideLocalModuleWithExport.types | 1 - ...ModuleInsideLocalModuleWithoutExport.types | 1 - ...eLocalModuleWithoutExportAccessError.types | 1 - ...ModuleInsideTopLevelModuleWithExport.types | 1 - ...uleInsideTopLevelModuleWithoutExport.types | 1 - .../reference/internalAliasInterface.types | 4 - ...InterfaceInsideLocalModuleWithExport.types | 4 - ...erfaceInsideLocalModuleWithoutExport.types | 4 - ...eLocalModuleWithoutExportAccessError.types | 5 - ...erfaceInsideTopLevelModuleWithExport.types | 4 - ...aceInsideTopLevelModuleWithoutExport.types | 4 - .../internalAliasUninitializedModule.types | 7 - ...zedModuleInsideLocalModuleWithExport.types | 7 - ...ModuleInsideLocalModuleWithoutExport.types | 7 - ...eLocalModuleWithoutExportAccessError.types | 8 - ...ModuleInsideTopLevelModuleWithExport.types | 7 - ...uleInsideTopLevelModuleWithoutExport.types | 7 - .../internalAliasWithDottedNameEmit.types | 4 - ...ergedWithClassNotReferencingInstance.types | 1 - ...lassNotReferencingInstanceNoConflict.types | 3 - ...antiatedModuleNotReferencingInstance.types | 1 - ...ergedWithClassNotReferencingInstance.types | 3 - ...lassNotReferencingInstanceNoConflict.types | 5 - ...duleNotReferencingInstanceNoConflict.types | 3 - .../reference/intersectionAndUnionTypes.types | 24 - ...nOfTypeVariableHasApparentSignatures.types | 12 - .../intersectionOfUnionOfUnitTypes.types | 45 - .../reference/intersectionThisTypes.types | 21 - .../intersectionTypeEquivalence.types | 22 - .../reference/intersectionTypeInference.types | 24 - .../intersectionTypeInference1.types | 3 - .../intersectionTypeInference2.types | 13 - .../intersectionTypeInference3.types | 13 - .../reference/intersectionTypeMembers.types | 23 - .../intersectionTypeNormalization.types | 115 - .../intersectionTypeOverloading.types | 4 - .../reference/intersectionTypeReadonly.types | 19 - .../intersectionWithUnionConstraint.types | 33 - .../intersectionsAndEmptyObjects.types | 34 - .../intersectionsOfLargeUnions.types | 28 - .../intersectionsOfLargeUnions2.types | 34 - tests/baselines/reference/intrinsics.types | 5 - .../reference/invalidAssignmentsToVoid.types | 5 - .../reference/invalidBooleanAssignments.types | 6 - .../reference/invalidConstraint1.types | 3 - .../reference/invalidEnumAssignments.types | 4 - .../invalidImportAliasIdentifiers.types | 2 - .../reference/invalidInstantiatedModule.types | 2 - ...validModuleWithStatementsOfEveryKind.types | 15 - .../invalidMultipleVariableDeclarations.types | 12 - .../reference/invalidNumberAssignments.types | 5 - .../reference/invalidReturnStatements.types | 5 - .../reference/invalidStringAssignments.types | 6 - .../invalidSymbolInTypeParameter1.types | 1 - ...lidThisEmitInContextualObjectLiteral.types | 3 - .../invalidUndefinedAssignments.types | 5 - .../reference/invalidUndefinedValues.types | 5 - .../invalidUseOfTypeAsNamespace.types | 2 - .../reference/invalidVoidAssignments.types | 5 - .../reference/invalidVoidValues.types | 5 - .../invariantGenericErrorElaboration.types | 33 - tests/baselines/reference/ipromise2.types | 38 - tests/baselines/reference/ipromise3.types | 35 - tests/baselines/reference/ipromise4.types | 37 - .../isDeclarationVisibleNodeKinds.types | 31 - .../isolatedModulesReExportType.types | 1 - .../isomorphicMappedTypeInference.types | 77 - .../reference/iterableArrayPattern15.types | 1 - .../reference/iterableArrayPattern16.types | 2 - .../reference/iterableArrayPattern17.types | 1 - .../reference/iterableArrayPattern18.types | 1 - .../reference/iterableArrayPattern19.types | 1 - .../reference/iterableArrayPattern20.types | 1 - .../reference/iterableArrayPattern3.types | 2 - .../reference/iterableArrayPattern4.types | 2 - .../reference/iterableArrayPattern5.types | 1 - .../reference/iterableArrayPattern6.types | 1 - .../reference/iterableArrayPattern7.types | 1 - .../reference/iterableArrayPattern8.types | 1 - .../reference/iterableContextualTyping1.types | 1 - .../reference/iteratorSpreadInArray11.types | 1 - .../reference/iteratorSpreadInCall10.types | 2 - .../reference/iteratorSpreadInCall11.types | 2 - .../reference/iteratorSpreadInCall12.types | 2 - .../reference/iteratorSpreadInCall7.types | 2 - .../reference/iteratorSpreadInCall8.types | 2 - .../reference/iteratorSpreadInCall9.types | 2 - .../baselines/reference/jqueryInference.types | 23 - .../reference/jsExtendsImplicitAny.types | 2 - ...mpilationHeritageClauseSyntaxOfClass.types | 1 - .../jsFileCompilationInterfaceSyntax.types | 3 +- .../jsFileCompilationModuleSyntax.types | 3 +- .../jsFileCompilationTypeAliasSyntax.types | 1 - ...ompilationTypeParameterSyntaxOfClass.types | 1 - ...ilationTypeParameterSyntaxOfFunction.types | 1 - ...mplicitAnyNoCascadingReferenceErrors.types | 2 - .../jsdocAugments_withTypeParameter.types | 2 - .../jsdocDisallowedInTypescript.types | 5 - .../reference/jsdocInTypeScript.types | 9 - .../jsdocReferenceGlobalTypeInCommonJs.types | 2 - tests/baselines/reference/jsdocTypeTag.types | 3 - .../jsxCallbackWithDestructuring.types | 28 - .../jsxCheckJsxNoTypeArgumentsAllowed.types | 6 - .../jsxChildrenGenericContextualTypes.types | 22 - .../jsxElementClassTooManyParams.types | 23 - .../reference/jsxEmitWithAttributes.types | 6 - .../jsxFactoryAndReactNamespace.types | 6 - .../reference/jsxFactoryIdentifier.types | 6 - .../jsxFactoryIdentifierAsParameter.types | 4 - ...FactoryIdentifierWithAbsentParameter.types | 4 - ...xFactoryNotIdentifierOrQualifiedName.types | 6 - ...FactoryNotIdentifierOrQualifiedName2.types | 6 - .../reference/jsxFactoryQualifiedName.types | 6 - ...xFactoryQualifiedNameResolutionError.types | 4 - .../reference/jsxHasLiteralType.types | 6 - .../reference/jsxInExtendsClause.types | 12 - ...sxInferenceProducesLiteralAsExpected.types | 18 - .../reference/jsxParsingError1.types | 6 - .../reference/jsxParsingError2.types | 6 - .../reference/jsxPropsAsIdentifierNames.types | 6 - .../jsxSpreadFirstUnionNoErrors.types | 2 - .../baselines/reference/jsxViaImport.2.types | 5 - tests/baselines/reference/jsxViaImport.types | 6 - tests/baselines/reference/keyofAndForIn.types | 23 - .../reference/keyofAndIndexedAccess.types | 495 --- .../keyofAndIndexedAccessErrors.types | 73 - .../reference/keyofDoesntContainSymbols.types | 13 - .../keyofInferenceIntersectsResults.types | 12 - ...eyofInferenceLowerPriorityThanReturn.types | 54 - .../reference/keyofIntersection.types | 46 - .../keyofIsLiteralContexualType.types | 11 - tests/baselines/reference/knockout.types | 11 - .../reference/labeledStatementWithLabel.types | 3 - .../labeledStatementWithLabel_es2015.types | 3 - .../labeledStatementWithLabel_strict.types | 3 - .../baselines/reference/lambdaArgCrash.types | 1 - .../reference/lambdaParamTypes.types | 10 - .../reference/lastPropertyInLiteralWins.types | 3 - ...teBoundConstraintTypeChecksCorrectly.types | 9 - tests/baselines/reference/libdtsFix.types | 2 - .../library_RegExpExecArraySlice.types | 1 - .../reference/limitDeepInstantiations.types | 10 - tests/baselines/reference/listFailure.types | 28 - ...literalTypeNameAssertionNotTriggered.types | 3 - .../reference/literalTypeWidening.types | 38 - tests/baselines/reference/literalTypes1.types | 1 - tests/baselines/reference/literalTypes2.types | 42 - tests/baselines/reference/literals.types | 1 - .../literalsInComputedProperties1.types | 4 - .../localImportNameVsGlobalName.types | 1 - tests/baselines/reference/localTypes1.types | 29 - tests/baselines/reference/localTypes3.types | 12 - tests/baselines/reference/localTypes4.types | 14 - tests/baselines/reference/localTypes5.types | 6 - .../logicalAndOperatorWithEveryType.types | 1 - ...logicalAndOperatorWithTypeParameters.types | 6 - .../logicalOrOperatorWithEveryType.types | 1 - .../logicalOrOperatorWithTypeParameters.types | 16 - .../reference/looseThisTypeInFunctions.types | 8 - tests/baselines/reference/m7Bugs.types | 14 - .../reference/mapOnTupleTypes02.types | 1 - .../reference/mappedTypeErrors.types | 140 - .../reference/mappedTypeErrors2.types | 33 - .../reference/mappedTypeIndexedAccess.types | 16 - .../mappedTypeInferenceCircularity.types | 7 - .../reference/mappedTypeInferenceErrors.types | 13 - .../reference/mappedTypeModifiers.types | 149 - .../reference/mappedTypeMultiInference.types | 9 - ...mappedTypeNestedGenericInstantiation.types | 16 - .../reference/mappedTypeNoTypeNoCrash.types | 7 - .../mappedTypePartialConstraints.types | 7 - .../mappedTypeRecursiveInference.types | 17 - .../reference/mappedTypeRelationships.types | 261 -- .../mappedTypeUnionConstraintInferences.types | 34 - .../reference/mappedTypeWithAny.types | 16 - .../mappedTypeWithCombinedTypeMappers.types | 16 - tests/baselines/reference/mappedTypes1.types | 60 - tests/baselines/reference/mappedTypes2.types | 103 - tests/baselines/reference/mappedTypes3.types | 27 - tests/baselines/reference/mappedTypes4.types | 70 - tests/baselines/reference/mappedTypes5.types | 95 - tests/baselines/reference/mappedTypes6.types | 127 - .../reference/mappedTypesAndObjects.types | 37 - .../matchReturnTypeInAllBranches.types | 1 - .../matchingOfObjectLiteralConstraints.types | 5 - .../baselines/reference/maxConstraints.types | 13 - .../memberAccessMustUseModuleInstances.types | 1 - ...ctionOverloadMixingStaticAndInstance.types | 4 - .../memberFunctionsWithPrivateOverloads.types | 7 - .../memberFunctionsWithPublicOverloads.types | 5 - ...rFunctionsWithPublicPrivateOverloads.types | 7 - tests/baselines/reference/memberScope.types | 2 - .../memberVariableDeclarations1.types | 6 - .../mergeClassInterfaceAndModule.types | 13 - .../reference/mergeThreeInterfaces.types | 40 - .../reference/mergeThreeInterfaces2.types | 17 - .../reference/mergeTwoInterfaces.types | 28 - .../reference/mergeTwoInterfaces2.types | 12 - .../mergeWithImportedNamespace.types | 3 - .../reference/mergeWithImportedType.types | 1 - .../reference/mergedClassInterface.types | 13 - .../reference/mergedDeclarationExports.types | 13 - .../reference/mergedDeclarations1.types | 5 - .../reference/mergedDeclarations5.types | 1 - .../reference/mergedDeclarations6.types | 1 - .../reference/mergedDeclarations7.types | 10 - .../mergedInheritedClassInterface.types | 10 - .../mergedInterfaceFromMultipleFiles1.types | 11 - ...terfacesWithConflictingPropertyNames.types | 35 - ...erfacesWithConflictingPropertyNames2.types | 38 - .../mergedInterfacesWithIndexers.types | 5 - .../mergedInterfacesWithIndexers2.types | 8 - ...ergedInterfacesWithInheritedPrivates.types | 8 - ...rgedInterfacesWithInheritedPrivates2.types | 9 - ...rgedInterfacesWithInheritedPrivates3.types | 13 - .../mergedInterfacesWithMultipleBases.types | 24 - .../mergedInterfacesWithMultipleBases2.types | 33 - .../mergedInterfacesWithMultipleBases3.types | 22 - .../mergedInterfacesWithMultipleBases4.types | 21 - .../reference/metadataImportType.types | 1 - .../reference/metadataOfClassFromAlias.types | 2 - .../reference/metadataOfClassFromAlias2.types | 2 - .../reference/metadataOfClassFromModule.types | 1 - .../reference/metadataOfEventAlias.types | 2 - .../reference/metadataOfStringLiteral.types | 1 - .../baselines/reference/metadataOfUnion.types | 7 - .../reference/metadataOfUnionWithNull.types | 4 - ...etadataReferencedWithinFilteredUnion.types | 1 - .../methodContainingLocalFunction.types | 7 - ...atureHandledDeclarationKindForSymbol.types | 4 - .../methodSignaturesWithOverloads.types | 8 - .../methodSignaturesWithOverloads2.types | 8 - .../mismatchedClassConstructorVariable.types | 1 - ...ExplicitTypeParameterAndArgumentType.types | 8 - .../mismatchedGenericArguments1.types | 13 - .../reference/missingDecoratorType.types | 34 +- .../missingFunctionImplementation.types | 4 - .../missingImportAfterModuleImport.types | 1 - .../reference/missingTypeArguments1.types | 36 - .../reference/missingTypeArguments2.types | 6 - .../reference/missingTypeArguments3.types | 76 - tests/baselines/reference/mixedExports.types | 11 - .../reference/mixinAccessModifiers.types | 27 - .../reference/mixinClassesAnnotated.types | 19 - .../reference/mixinClassesAnonymous.types | 12 - .../reference/mixinPrivateAndProtected.types | 16 - .../mixingApparentTypeOverrides.types | 5 - .../modifiersOnInterfaceIndexSignature1.types | 2 - .../reference/moduleAliasInterface.types | 14 - .../moduleAndInterfaceSharingName.types | 8 - .../moduleAndInterfaceSharingName2.types | 8 - .../moduleAndInterfaceSharingName3.types | 9 - .../moduleAndInterfaceSharingName4.types | 6 - .../moduleAndInterfaceWithSameName.types | 6 - .../reference/moduleAsBaseType.types | 6 - .../reference/moduleAssignmentCompat1.types | 2 - .../reference/moduleAssignmentCompat2.types | 2 - .../reference/moduleAssignmentCompat3.types | 2 - .../reference/moduleAssignmentCompat4.types | 2 - ...ntationCollidingNamesInAugmentation1.types | 7 - .../moduleAugmentationDeclarationEmit1.types | 13 - .../moduleAugmentationDeclarationEmit2.types | 13 - ...duleAugmentationDisallowedExtensions.types | 5 - ...mentationDuringSyntheticDefaultCheck.types | 12 - ...duleAugmentationExtendAmbientModule1.types | 13 - ...duleAugmentationExtendAmbientModule2.types | 13 - .../moduleAugmentationExtendFileModule1.types | 13 - .../moduleAugmentationExtendFileModule2.types | 13 - .../reference/moduleAugmentationGlobal1.types | 4 - .../reference/moduleAugmentationGlobal2.types | 3 - .../reference/moduleAugmentationGlobal3.types | 3 - .../reference/moduleAugmentationGlobal4.types | 2 - .../reference/moduleAugmentationGlobal5.types | 2 - .../reference/moduleAugmentationGlobal6.types | 2 - .../moduleAugmentationGlobal6_1.types | 2 - .../reference/moduleAugmentationGlobal7.types | 4 - .../moduleAugmentationGlobal7_1.types | 4 - .../reference/moduleAugmentationGlobal8.types | 4 - .../moduleAugmentationGlobal8_1.types | 4 - ...moduleAugmentationImportsAndExports1.types | 4 - ...moduleAugmentationImportsAndExports2.types | 10 - ...moduleAugmentationImportsAndExports3.types | 10 - ...moduleAugmentationImportsAndExports4.types | 10 - ...moduleAugmentationImportsAndExports5.types | 10 - ...moduleAugmentationImportsAndExports6.types | 10 - .../moduleAugmentationInAmbientModule1.types | 4 - .../moduleAugmentationInAmbientModule2.types | 4 - .../moduleAugmentationInAmbientModule3.types | 7 - .../moduleAugmentationInAmbientModule4.types | 7 - .../moduleAugmentationInAmbientModule5.types | 4 - .../moduleAugmentationNoNewNames.types | 14 - .../moduleAugmentationsBundledOutput1.types | 11 - .../moduleAugmentationsImports1.types | 7 - .../moduleAugmentationsImports2.types | 7 - .../moduleAugmentationsImports3.types | 7 - .../moduleAugmentationsImports4.types | 7 - .../moduleClassArrayCodeGenTest.types | 2 - .../baselines/reference/moduleCrashBug1.types | 4 - ...nExportStarShadowingGlobalIsNameable.types | 10 - .../moduleDuplicateIdentifiers.types | 4 - .../moduleElementsInWrongContext.types | 7 - .../moduleElementsInWrongContext2.types | 7 - .../moduleElementsInWrongContext3.types | 7 - .../reference/moduleIdentifiers.types | 1 - ...oduleImportedForTypeArgumentPosition.types | 6 +- .../reference/moduleInTypePosition1.types | 1 - ...eLocalImportNotIncorrectlyRedirected.types | 2 - .../moduleMemberWithoutTypeAnnotation1.types | 10 - .../moduleMemberWithoutTypeAnnotation2.types | 2 - .../reference/moduleMergeConstructor.types | 3 - .../reference/moduleNewExportBug.types | 3 - .../reference/moduleOuterQualification.types | 9 - .../reference/moduleRedifinitionErrors.types | 1 - .../moduleReopenedTypeOtherBlock.types | 2 - .../moduleReopenedTypeSameBlock.types | 2 - .../moduleResolutionWithSymlinks.types | 2 - ...uleResolutionWithSymlinks_withOutDir.types | 2 - ...esNameWithImportDeclarationInsideIt3.types | 1 - ...esNameWithImportDeclarationInsideIt4.types | 2 - ...esNameWithImportDeclarationInsideIt5.types | 1 - .../reference/moduleSymbolMerging.types | 6 +- .../reference/moduleVisibilityTest1.types | 5 - .../reference/moduleVisibilityTest2.types | 5 - .../reference/moduleVisibilityTest3.types | 5 - .../reference/moduleWithNoValuesAsType.types | 13 - .../moduleWithStatementsOfEveryKind.types | 12 - .../reference/moduleWithValuesAsType.types | 1 - .../module_augmentUninstantiatedModule.types | 2 - .../module_augmentUninstantiatedModule2.types | 8 - tests/baselines/reference/moduledecl.types | 35 - .../reference/multiCallOverloads.types | 5 - .../multiExtendsSplitInterfaces2.types | 11 - .../baselines/reference/multiLineErrors.types | 6 - ...ropertyAccessAndArrowFunctionIndent1.types | 3 - ...eInterfaesWithIncompatibleProperties.types | 6 - .../reference/multipleExportAssignments.types | 10 - .../reference/multipleNumericIndexers.types | 6 - .../reference/multipleStringIndexers.types | 6 - tests/baselines/reference/mutrec.types | 27 - .../mutuallyRecursiveCallbacks.types | 13 - .../mutuallyRecursiveGenericBaseTypes1.types | 12 - .../mutuallyRecursiveGenericBaseTypes2.types | 5 - .../mutuallyRecursiveInference.types | 6 - ...utuallyRecursiveInterfaceDeclaration.types | 6 - tests/baselines/reference/nameCollision.types | 2 - .../baselines/reference/nameCollisions.types | 6 - ...amespaceMergedWithImportAliasNoCrash.types | 4 - tests/baselines/reference/namespaces1.types | 8 - tests/baselines/reference/namespaces2.types | 1 - .../reference/namespacesDeclaration1.types | 20 +- .../reference/namespacesDeclaration2.types | 3 - ...narrowExceptionVariableInCatchClause.types | 1 - .../narrowFromAnyWithTypePredicate.types | 9 - .../reference/narrowTypeByInstanceof.types | 4 - .../baselines/reference/narrowedImports.types | 2 - .../narrowingByDiscriminantInLoop.types | 24 - .../narrowingConstrainedTypeParameter.types | 8 - .../narrowingConstrainedTypeVariable.types | 16 - ...narrowingGenericTypeFromInstanceof01.types | 13 - .../reference/narrowingOfDottedNames.types | 8 - .../reference/nativeToBoxedTypes.types | 1 - .../reference/nestedFreshLiteral.types | 9 - .../baselines/reference/nestedGenerics.types | 6 - ...stedInfinitelyExpandedRecursiveTypes.types | 14 - tests/baselines/reference/nestedLoops.types | 2 - tests/baselines/reference/nestedModules.types | 13 - ...estedRecursiveArraysOrObjectsError01.types | 9 - .../nestedTypeVariableInfersLiteral.types | 14 - .../baselines/reference/neverInference.types | 29 - tests/baselines/reference/neverType.types | 2 - .../reference/newAbstractInstance.types | 1 - tests/baselines/reference/newArrays.types | 2 - ...meterConstrainedToOuterTypeParameter.types | 8 - .../newNamesInGlobalAugmentations1.types | 2 - tests/baselines/reference/newOperator.types | 3 - .../reference/newOperatorConformance.types | 12 - .../reference/newOperatorErrorCases.types | 7 - tests/baselines/reference/newWithSpread.types | 13 - .../reference/newWithSpreadES5.types | 13 - .../reference/newWithSpreadES6.types | 13 - .../reference/noConstraintInReturnType1.types | 4 - .../reference/noCrashOnImportShadowing.types | 5 - .../baselines/reference/noCrashOnMixin.types | 5 - .../reference/noCrashOnThisTypeUsage.types | 10 - tests/baselines/reference/noDefaultLib.types | 14 - .../reference/noErrorTruncation.types | 10 - ...licitAnyDestructuringInPrivateMethod.types | 1 - ...mplicitAnyForwardReferencedInterface.types | 3 - ...licitAnyFunctionExpressionAssignment.types | 4 - .../noImplicitAnyInBareInterface.types | 2 - .../noImplicitAnyInCastExpression.types | 5 - .../reference/noImplicitAnyIndexing.types | 5 - .../noImplicitAnyIndexingSuppressed.types | 5 - .../reference/noImplicitAnyModule.types | 2 - .../noImplicitAnyParametersInInterface.types | 2 - ...licitAnyReferencingDeclaredInterface.types | 3 - .../noImplicitAnyWithOverloads.types | 5 - .../reference/noImplicitReturnsInAsync2.types | 2 - .../reference/noStrictGenericChecks.types | 13 - .../reference/noSymbolForMergeCrash.types | 9 +- .../noTypeArgumentOnReturnType1.types | 2 - .../noUnusedLocals_selfReference.types | 6 - ...als_typeParameterMergedWithParameter.types | 6 - .../nominalSubtypeCheckOfTypeParameter.types | 29 - .../nominalSubtypeCheckOfTypeParameter2.types | 27 - ...nConflictingRecursiveBaseTypeMembers.types | 17 - .../nonContextuallyTypedLogicalOr.types | 6 - ...ricClassExtendingGenericClassWithAny.types | 2 - ...enericTypeReferenceWithTypeArguments.types | 14 - .../nonIdenticalTypeConstraints.types | 38 - .../reference/nonInstantiatedModule.types | 9 - .../reference/nonNullMappedType.types | 4 - ...terExtendingStringAssignableToString.types | 4 - .../nonPrimitiveAndTypeVariables.types | 20 - .../reference/nonPrimitiveAsProperty.types | 4 - .../reference/nonPrimitiveAssignError.types | 3 - ...PrimitiveConstraintOfIndexAccessType.types | 50 - .../reference/nonPrimitiveInGeneric.types | 17 - .../reference/nonPrimitiveStrictNull.types | 9 - ...stentPropertyAvailableOnPromisedType.types | 1 - .../nonexistentPropertyOnUnion.types | 1 - ...entPropertyUnavailableOnPromisedType.types | 1 - .../nounusedTypeParameterConstraint.types | 8 +- tests/baselines/reference/null.types | 3 - .../reference/nullAssignableToEveryType.types | 20 - ...ullIsSubtypeOfEverythingButUndefined.types | 15 - .../reference/numberAssignableToEnum.types | 1 - .../numberAssignableToEnumInsideUnion.types | 1 - .../reference/numericIndexExpressions.types | 6 - ...ndexerConstrainsPropertyDeclarations.types | 9 - ...dexerConstrainsPropertyDeclarations2.types | 15 - .../reference/numericIndexerConstraint.types | 1 - .../reference/numericIndexerConstraint1.types | 1 - .../reference/numericIndexerConstraint2.types | 1 - .../reference/numericIndexerConstraint3.types | 2 - .../reference/numericIndexerConstraint4.types | 1 - .../reference/numericIndexerTyping1.types | 7 - .../reference/numericIndexerTyping2.types | 3 - .../reference/numericIndexingResults.types | 4 - .../reference/numericLiteralTypes1.types | 14 - .../reference/numericLiteralTypes2.types | 14 - .../reference/numericLiteralTypes3.types | 28 - .../numericNamedPropertyDuplicates.types | 2 - ...umericStringNamedPropertyEquivalence.types | 2 - ...ectCreationOfElementAccessExpression.types | 1 - tests/baselines/reference/objectIndexer.types | 6 - .../reference/objectLitArrayDeclNoNew.types | 8 - .../reference/objectLitGetterSetter.types | 1 - .../objectLitIndexerContextualType.types | 6 - .../objectLiteralArraySpecialization.types | 10 - .../objectLiteralContextualTyping.types | 6 - .../objectLiteralDeclarationGeneration1.types | 1 - .../objectLiteralEnumPropertyNames.types | 7 - .../objectLiteralExcessProperties.types | 24 - ...ctLiteralFunctionArgContextualTyping.types | 3 - ...tLiteralFunctionArgContextualTyping2.types | 3 - .../objectLiteralGettersAndSetters.types | 3 - .../objectLiteralIndexerErrors.types | 9 - .../objectLiteralIndexerNoImplicitAny.types | 3 - .../reference/objectLiteralIndexers.types | 9 - .../objectLiteralNormalization.types | 3 - .../objectLiteralParameterResolution.types | 9 - ...objectLiteralWithNumericPropertyName.types | 3 - ...bjectLiteralsAgainstUnionsOfArrays01.types | 7 - .../reference/objectMembersOnTypes.types | 5 - tests/baselines/reference/objectRest.types | 3 - .../reference/objectRestNegative.types | 2 - .../reference/objectRestReadonly.types | 2 - tests/baselines/reference/objectSpread.types | 4 - .../reference/objectSpreadNegative.types | 18 - .../reference/objectSpreadStrictNull.types | 9 - ...ectTypeHidingMembersOfExtendedObject.types | 14 - .../objectTypeHidingMembersOfObject.types | 4 - ...idingMembersOfObjectAssignmentCompat.types | 5 - ...dingMembersOfObjectAssignmentCompat2.types | 5 - .../reference/objectTypePropertyAccess.types | 4 - ...CallSignatureAppearsToBeFunctionType.types | 3 - ...atureHidingMembersOfExtendedFunction.types | 6 - ...CallSignatureHidingMembersOfFunction.types | 3 - ...ingMembersOfFunctionAssignmentCompat.types | 4 - ...ructSignatureAppearsToBeFunctionType.types | 3 - ...atureHidingMembersOfExtendedFunction.types | 6 - ...ructSignatureHidingMembersOfFunction.types | 3 - ...ingMembersOfFunctionAssignmentCompat.types | 4 - ...jectTypeWithDuplicateNumericProperty.types | 2 - .../objectTypeWithNumericProperty.types | 4 - ...jectTypeWithRecursiveWrappedProperty.types | 5 - ...ectTypeWithRecursiveWrappedProperty2.types | 5 - ...rsiveWrappedPropertyCheckedNominally.types | 28 - ...WithStringIndexerHidingObjectIndexer.types | 7 - ...ctTypeWithStringNamedNumericProperty.types | 16 - ...ringNamedPropertyOfIllegalCharacters.types | 4 - .../reference/objectTypesIdentity.types | 29 - .../reference/objectTypesIdentity2.types | 23 - ...bjectTypesIdentityWithCallSignatures.types | 39 - ...jectTypesIdentityWithCallSignatures2.types | 41 - ...jectTypesIdentityWithCallSignatures3.types | 15 - ...thCallSignaturesDifferingParamCounts.types | 40 - ...hCallSignaturesDifferingParamCounts2.types | 19 - ...ntityWithCallSignaturesWithOverloads.types | 39 - ...tTypesIdentityWithComplexConstraints.types | 18 - ...TypesIdentityWithConstructSignatures.types | 36 - ...ypesIdentityWithConstructSignatures2.types | 31 - ...structSignaturesDifferingParamCounts.types | 30 - ...pesIdentityWithGenericCallSignatures.types | 53 - ...esIdentityWithGenericCallSignatures2.types | 67 - ...CallSignaturesDifferingByConstraints.types | 75 - ...allSignaturesDifferingByConstraints2.types | 134 - ...allSignaturesDifferingByConstraints3.types | 149 - ...cCallSignaturesDifferingByReturnType.types | 50 - ...CallSignaturesDifferingByReturnType2.types | 78 - ...gnaturesDifferingTypeParameterCounts.types | 85 - ...naturesDifferingTypeParameterCounts2.types | 36 - ...ignaturesDifferingTypeParameterNames.types | 53 - ...hGenericCallSignaturesOptionalParams.types | 60 - ...GenericCallSignaturesOptionalParams2.types | 67 - ...GenericCallSignaturesOptionalParams3.types | 67 - ...ructSignaturesDifferingByConstraints.types | 57 - ...uctSignaturesDifferingByConstraints2.types | 109 - ...uctSignaturesDifferingByConstraints3.types | 124 - ...tructSignaturesDifferingByReturnType.types | 40 - ...ructSignaturesDifferingByReturnType2.types | 63 - ...gnaturesDifferingTypeParameterCounts.types | 74 - ...ignaturesDifferingTypeParameterNames.types | 41 - ...ricConstructSignaturesOptionalParams.types | 47 - ...icConstructSignaturesOptionalParams2.types | 57 - ...icConstructSignaturesOptionalParams3.types | 57 - ...ectTypesIdentityWithNumericIndexers1.types | 41 - ...ectTypesIdentityWithNumericIndexers2.types | 50 - ...ectTypesIdentityWithNumericIndexers3.types | 41 - .../objectTypesIdentityWithOptionality.types | 16 - .../objectTypesIdentityWithPrivates.types | 41 - .../objectTypesIdentityWithPrivates2.types | 16 - .../objectTypesIdentityWithPrivates3.types | 14 - .../objectTypesIdentityWithPublics.types | 29 - ...bjectTypesIdentityWithStringIndexers.types | 41 - ...jectTypesIdentityWithStringIndexers2.types | 50 - .../objectTypesWithOptionalProperties.types | 8 - .../objectTypesWithOptionalProperties2.types | 6 - .../operatorsAndIntersectionTypes.types | 2 - .../optionalAccessorsInInterface1.types | 6 - .../optionalConstructorArgInSuper.types | 1 - .../optionalFunctionArgAssignability.types | 19 - .../baselines/reference/optionalMethods.types | 4 - .../reference/optionalParamArgsTest.types | 4 - .../optionalParamAssignmentCompat.types | 9 - ...ameterInDestructuringWithInitializer.types | 4 - .../optionalParameterRetainsNull.types | 6 - .../reference/optionalProperties01.types | 4 - .../reference/optionalProperties02.types | 3 - .../optionalPropertiesInClasses.types | 5 - .../reference/optionalPropertiesSyntax.types | 10 - .../reference/optionalPropertiesTest.types | 18 - .../reference/optionalTupleElements1.types | 11 - ...rderMattersForSignatureGroupIdentity.types | 10 - .../reference/outModuleTripleSlashRefs.types | 3 - .../overEagerReturnTypeSpecialization.types | 11 - tests/baselines/reference/overload1.types | 6 - tests/baselines/reference/overload2.types | 4 - .../reference/overloadAssignmentCompat.types | 4 - ...adBindingAcrossDeclarationBoundaries.types | 37 - ...dBindingAcrossDeclarationBoundaries2.types | 37 - tests/baselines/reference/overloadCrash.types | 7 - .../overloadEquivalenceWithStatics.types | 13 - .../overloadGenericFunctionWithRestArgs.types | 14 - .../overloadModifiersMustAgree.types | 2 - .../overloadOnConstConstraintChecks1.types | 12 - .../overloadOnConstConstraintChecks2.types | 4 - .../overloadOnConstConstraintChecks3.types | 4 - .../overloadOnConstConstraintChecks4.types | 4 - ...InBaseWithBadImplementationInDerived.types | 3 - ...ObjectLiteralImplementingAnInterface.types | 3 - .../overloadOnConstInheritance1.types | 5 - .../overloadOnConstInheritance2.types | 5 - .../overloadOnConstInheritance3.types | 5 - .../overloadOnConstInheritance4.types | 3 - .../overloadOnConstNoAnyImplementation2.types | 3 - ...erloadOnConstNoStringImplementation2.types | 4 - .../overloadOnConstantsInvalidOverload1.types | 2 - .../reference/overloadOnGenericArity.types | 4 - ...loadOnGenericClassAndNonGenericClass.types | 10 - .../reference/overloadResolution.types | 28 - .../overloadResolutionClassConstructors.types | 18 - .../overloadResolutionConstructors.types | 43 - ...overloadResolutionOverNonCTObjectLit.types | 9 - .../reference/overloadResolutionWithAny.types | 1 - tests/baselines/reference/overloadRet.types | 3 - .../reference/overloadReturnTypes.types | 6 - ...overloadedStaticMethodSpecialization.types | 13 - .../reference/overloadingOnConstants1.types | 15 - .../reference/overloadingOnConstants2.types | 11 - ...lutionWithConstraintCheckingDeferred.types | 11 - .../overloadsAndTypeArgumentArity.types | 6 - .../overloadsAndTypeArgumentArityErrors.types | 5 - .../reference/overloadsWithConstraints.types | 8 - .../reference/overloadsWithinClasses.types | 1 - .../overrideBaseIntersectionMethod.types | 6 - ...erInitializerBeforeDestructuringEmit.types | 4 - .../parameterNamesInTypeParameterList.types | 12 - .../parameterReferenceInInitializer1.types | 6 - .../parameterReferencesOtherParameter1.types | 1 - .../parameterReferencesOtherParameter2.types | 1 - .../parametersWithNoAnnotationAreAny.types | 3 - .../paramterDestrcuturingDeclaration.types | 2 - .../parenthesizedContexualTyping1.types | 19 - .../parenthesizedContexualTyping2.types | 18 - .../parenthesizedContexualTyping3.types | 20 - .../reference/parenthesizedTypes.types | 3 - ...eArrowFunctionWithFunctionReturnType.types | 2 - .../parseEntityNameWithReservedWord.types | 1 - .../parseErrorIncorrectReturnToken.types | 1 - .../baselines/reference/parseShortform.types | 4 - ....asyncGenerators.classMethods.esnext.types | 6 - ...nerators.functionDeclarations.esnext.types | 6 - ...enerators.functionExpressions.esnext.types | 6 - ...nerators.objectLiteralMethods.esnext.types | 6 - .../baselines/reference/parser0_004152.types | 1 - tests/baselines/reference/parser509618.types | 1 - tests/baselines/reference/parser553699.types | 2 - tests/baselines/reference/parser643728.types | 2 - .../parserAccessibilityAfterStatic10.types | 1 - .../parserAccessibilityAfterStatic14.types | 1 - .../reference/parserAmbiguity1.types | 2 - .../parserAmbiguityWithBinaryOperator4.types | 2 - .../reference/parserArgumentList1.types | 1 - .../baselines/reference/parserAstSpans1.types | 11 - .../parserAutomaticSemicolonInsertion1.types | 4 - .../parserCastVersusArrowFunction1.types | 8 - ...parserCatchClauseWithTypeAnnotation1.types | 1 - tests/baselines/reference/parserClass1.types | 1 - tests/baselines/reference/parserClass2.types | 2 - .../reference/parserClassDeclaration2.types | 2 - .../reference/parserClassDeclaration25.types | 8 - .../reference/parserClassDeclaration3.types | 1 - .../reference/parserClassDeclaration4.types | 1 - .../reference/parserClassDeclaration5.types | 2 - .../parserComputedPropertyName20.types | 2 - .../parserComputedPropertyName21.types | 2 - .../parserComputedPropertyName9.types | 1 - .../parserConstructorAmbiguity3.types | 1 - .../parserConstructorDeclaration9.types | 1 - .../parserES5ComputedPropertyName5.types | 2 - .../parserES5ComputedPropertyName9.types | 1 - .../reference/parserES5SymbolIndexer1.types | 2 - .../reference/parserES5SymbolProperty1.types | 2 - .../reference/parserES5SymbolProperty2.types | 2 - ...rrantEqualsGreaterThanAfterFunction2.types | 1 - ...rRecovery_ExtendsOrImplementsClause3.types | 1 - ...rRecovery_ExtendsOrImplementsClause5.types | 1 - ...rRecovery_ExtendsOrImplementsClause6.types | 3 +- ...orRecovery_IncompleteMemberVariable1.types | 4 - ...orRecovery_IncompleteMemberVariable2.types | 5 - .../parserErrorRecovery_ParameterList6.types | 1 - .../parserExportAsFunctionIdentifier.types | 3 - .../parserFunctionPropertyAssignment4.types | 1 - .../reference/parserGenericClass1.types | 1 - .../reference/parserGenericClass2.types | 2 - .../reference/parserGenericConstraint1.types | 1 - .../reference/parserGenericConstraint2.types | 3 - .../reference/parserGenericConstraint3.types | 3 - .../reference/parserGenericConstraint4.types | 4 - .../reference/parserGenericConstraint5.types | 4 - .../reference/parserGenericConstraint6.types | 4 - .../reference/parserGenericConstraint7.types | 4 - ...arserGenericsInInterfaceDeclaration1.types | 12 - .../parserGenericsInTypeContexts1.types | 17 - .../parserGenericsInTypeContexts2.types | 53 - ...parserGenericsInVariableDeclaration1.types | 18 - ...parserGetAccessorWithTypeParameters1.types | 1 - .../reference/parserIndexSignature1.types | 2 - .../reference/parserIndexSignature10.types | 2 - .../reference/parserIndexSignature11.types | 2 - .../reference/parserIndexSignature2.types | 2 - .../reference/parserIndexSignature3.types | 2 - .../reference/parserIndexSignature4.types | 2 - .../reference/parserIndexSignature5.types | 2 - .../reference/parserIndexSignature6.types | 2 - .../reference/parserIndexSignature7.types | 2 - .../reference/parserIndexSignature8.types | 1 - .../reference/parserIndexSignature9.types | 7 +- .../parserInterfaceDeclaration1.types | 6 +- .../parserInterfaceDeclaration2.types | 5 +- .../parserInterfaceDeclaration3.types | 4 +- .../parserInterfaceDeclaration4.types | 4 +- .../parserInterfaceDeclaration5.types | 4 +- .../parserInterfaceDeclaration6.types | 4 +- .../parserInterfaceDeclaration7.types | 4 +- .../parserInterfaceDeclaration8.types | 4 +- .../parserMemberAccessExpression1.types | 5 - .../reference/parserMethodSignature1.types | 2 - .../reference/parserMethodSignature10.types | 2 - .../reference/parserMethodSignature11.types | 3 - .../reference/parserMethodSignature12.types | 3 - .../reference/parserMethodSignature2.types | 2 - .../reference/parserMethodSignature3.types | 3 - .../reference/parserMethodSignature4.types | 3 - .../reference/parserMethodSignature5.types | 2 - .../reference/parserMethodSignature6.types | 2 - .../reference/parserMethodSignature7.types | 3 - .../reference/parserMethodSignature8.types | 3 - .../reference/parserMethodSignature9.types | 2 - .../parserMissingLambdaOpenBrace1.types | 4 - .../parserModifierOnPropertySignature1.types | 2 - .../parserModifierOnPropertySignature2.types | 2 - tests/baselines/reference/parserModule1.types | 3 - .../reference/parserModuleDeclaration11.types | 3 - .../reference/parserModuleDeclaration12.types | 5 +- .../parserModuleDeclaration2.d.types | 4 +- .../parserModuleDeclaration3.d.types | 4 +- .../reference/parserModuleDeclaration3.types | 10 +- .../parserModuleDeclaration4.d.types | 10 +- .../reference/parserModuleDeclaration4.types | 16 +- .../reference/parserModuleDeclaration5.types | 16 +- .../reference/parserModuleDeclaration6.types | 4 +- .../reference/parserModuleDeclaration7.types | 5 +- .../reference/parserModuleDeclaration8.types | 5 +- .../reference/parserModuleDeclaration9.types | 6 +- .../reference/parserObjectType5.types | 3 - .../reference/parserObjectType6.types | 1 - .../parserOptionalTypeMembers1.types | 2 - .../parserOverloadOnConstants1.types | 6 - .../reference/parserParameterList13.types | 2 - .../reference/parserParameterList5.types | 1 - .../reference/parserPropertySignature1.types | 2 - .../reference/parserPropertySignature10.types | 2 - .../reference/parserPropertySignature11.types | 2 - .../reference/parserPropertySignature12.types | 2 - .../reference/parserPropertySignature2.types | 2 - .../reference/parserPropertySignature3.types | 2 - .../reference/parserPropertySignature4.types | 2 - .../reference/parserPropertySignature5.types | 2 - .../reference/parserPropertySignature6.types | 2 - .../reference/parserPropertySignature7.types | 2 - .../reference/parserPropertySignature8.types | 2 - .../reference/parserPropertySignature9.types | 2 - .../reference/parserRealSource1.types | 10 - .../reference/parserRealSource10.types | 18 - .../reference/parserRealSource11.types | 324 -- .../reference/parserRealSource12.types | 161 - .../reference/parserRealSource13.types | 117 - .../reference/parserRealSource14.types | 78 - .../reference/parserRealSource2.types | 11 - .../reference/parserRealSource4.types | 12 - .../reference/parserRealSource5.types | 12 - .../reference/parserRealSource6.types | 50 - .../reference/parserRealSource7.types | 96 - .../reference/parserRealSource8.types | 67 - .../reference/parserRealSource9.types | 22 - ...parserSetAccessorWithTypeParameters1.types | 1 - .../reference/parserSkippedTokens20.types | 2 - .../reference/parserSuperExpression2.types | 1 - .../reference/parserSuperExpression3.types | 1 - .../reference/parserSymbolIndexer1.types | 2 - .../reference/parserSymbolProperty1.types | 2 - .../reference/parserSymbolProperty2.types | 2 - .../reference/parserTypeQuery8.types | 1 - ...rserUnfinishedTypeNameBeforeKeyword1.types | 2 - .../parserUnterminatedGeneric1.types | 4 - .../parserUnterminatedGeneric2.types | 4 - .../parserVariableDeclaration3.types | 1 - .../reference/parserX_ArrowFunction1.types | 1 - tests/baselines/reference/parserharness.types | 150 - .../baselines/reference/parserindenter.types | 56 - .../parservoidInQualifiedName2.types | 1 - ...iallyAnnotatedFunctionInferenceError.types | 8 - ...edFunctionInferenceWithTypeParameter.types | 20 - .../partiallyDiscriminantedUnions.types | 21 - .../potentiallyUncalledDecorators.types | 11 - .../prespecializedGenericMembers1.types | 6 - .../reference/primaryExpressionMods.types | 4 - .../reference/primitiveConstraints1.types | 10 - .../reference/primitiveConstraints2.types | 6 - .../reference/primitiveMembers.types | 7 - .../primitiveTypeAsInterfaceName.types | 3 +- .../primitiveTypeAsInterfaceNameGeneric.types | 4 +- .../reference/primitiveTypeAsmoduleName.types | 3 +- .../reference/primtiveTypesAreIdentical.types | 2 - .../reference/privacyAccessorDeclFile.types | 208 - .../privacyCannotNameAccessorDeclFile.types | 2 - .../privacyCannotNameVarTypeDeclFile.types | 2 - ...ivacyCheckAnonymousFunctionParameter.types | 7 - ...vacyCheckAnonymousFunctionParameter2.types | 6 - ...ckOfInterfaceMethodWithTypeParameter.types | 8 - ...ssignmentOnExportedGenericInterface1.types | 8 - ...ssignmentOnExportedGenericInterface2.types | 6 - ...ModuleExportAssignmentOfGenericClass.types | 5 - ...meterReferenceInConstructorParameter.types | 5 - tests/baselines/reference/privacyClass.types | 42 - ...privacyClassImplementsClauseDeclFile.types | 40 - tests/baselines/reference/privacyFunc.types | 40 - ...ctionCannotNameParameterTypeDeclFile.types | 2 - ...FunctionCannotNameReturnTypeDeclFile.types | 2 - .../privacyFunctionParameterDeclFile.types | 476 -- .../privacyFunctionReturnTypeDeclFile.types | 394 -- tests/baselines/reference/privacyGetter.types | 30 - .../baselines/reference/privacyGloClass.types | 17 - .../baselines/reference/privacyGloFunc.types | 96 - .../reference/privacyGloGetter.types | 12 - .../reference/privacyGloImport.types | 21 - .../privacyGloImportParseErrors.types | 25 - .../reference/privacyGloInterface.types | 79 - tests/baselines/reference/privacyGloVar.types | 30 - tests/baselines/reference/privacyImport.types | 6 - .../reference/privacyImportParseErrors.types | 58 - .../reference/privacyInterface.types | 190 - ...rivacyInterfaceExtendsClauseDeclFile.types | 111 +- ...calInternalReferenceImportWithExport.types | 24 - ...InternalReferenceImportWithoutExport.types | 24 - ...velInternalReferenceImportWithExport.types | 16 - ...InternalReferenceImportWithoutExport.types | 16 - .../privacyTypeParameterOfFunction.types | 120 - ...ivacyTypeParameterOfFunctionDeclFile.types | 434 -- .../privacyTypeParametersOfClass.types | 22 - ...privacyTypeParametersOfClassDeclFile.types | 82 - .../privacyTypeParametersOfInterface.types | 80 - ...acyTypeParametersOfInterfaceDeclFile.types | 252 -- tests/baselines/reference/privacyVar.types | 72 - .../reference/privacyVarDeclFile.types | 259 -- ...sPropertyAccessibleWithinNestedClass.types | 1 - .../baselines/reference/privateIndexer.types | 2 - .../reference/privateInstanceVisibility.types | 1 - .../privateInterfaceProperties.types | 3 - .../privatePropertyUsingObjectType.types | 5 - .../baselines/reference/promiseChaining.types | 7 - .../reference/promiseChaining1.types | 8 - .../reference/promiseChaining2.types | 8 - .../reference/promiseDefinitionTest.types | 1 - .../promiseEmptyTupleNoException.types | 1 - .../baselines/reference/promiseIdentity.types | 48 - .../reference/promiseIdentity2.types | 28 - .../reference/promiseIdentityWithAny.types | 24 - .../reference/promiseIdentityWithAny2.types | 46 - .../promiseIdentityWithConstraints.types | 32 - .../reference/promisePermutations.types | 176 - .../reference/promisePermutations2.types | 154 - .../reference/promisePermutations3.types | 154 - tests/baselines/reference/promiseTest.types | 16 - tests/baselines/reference/promiseType.types | 1 - .../reference/promiseTypeInference.types | 18 - .../reference/promiseTypeStrictNull.types | 1 - .../reference/promiseVoidErrorCallback.types | 12 - tests/baselines/reference/promises.types | 15 - .../reference/promisesWithConstraints.types | 27 - .../propagationOfPromiseInitialization.types | 10 - .../reference/propertiesAndIndexers.types | 24 - .../reference/propertiesAndIndexers2.types | 5 - .../baselines/reference/propertyAccess.types | 14 - ...opertyAccessOfReadonlyIndexSignature.types | 3 - .../propertyAccessOnObjectLiteral.types | 2 - ...AccessOnTypeParameterWithConstraints.types | 18 - ...ccessOnTypeParameterWithConstraints2.types | 47 - ...ccessOnTypeParameterWithConstraints3.types | 37 - ...ccessOnTypeParameterWithConstraints4.types | 18 - ...ccessOnTypeParameterWithConstraints5.types | 28 - ...essOnTypeParameterWithoutConstraints.types | 11 - .../propertyAccessStringIndexSignature.types | 5 - ...essStringIndexSignatureNoImplicitAny.types | 5 - .../propertyIdentityWithPrivacyMismatch.types | 4 - .../propertyNameWithoutTypeAnnotation.types | 3 - .../reference/propertyNamedPrototype.types | 1 - .../propertyNamesOfReservedWords.types | 4 - .../propertyNamesWithStringLiteral.types | 6 - .../propertyParameterWithQuestionMark.types | 1 - ...sPropertyAccessibleWithinNestedClass.types | 1 - ...pertyAccessibleWithinNestedSubclass1.types | 30 - ...assPropertyAccessibleWithinSubclass2.types | 30 - ...protectedInstanceMemberAccessibility.types | 3 - .../reference/protectedMembers.types | 13 - .../baselines/reference/protoAssignment.types | 2 - ...totypeInstantiatedWithBaseConstraint.types | 2 - .../prototypeOnConstructorFunctions.types | 3 - tests/baselines/reference/publicIndexer.types | 2 - ...erImplementedAsPrivateInDerivedClass.types | 3 - ...tions-entity-names-referencing-a-var.types | 2 - tests/baselines/reference/qualify.types | 22 - .../raiseErrorOnParameterProperty.types | 1 - .../reExportGlobalDeclaration2.types | 4 - .../reference/reachabilityChecks1.types | 6 - .../reference/reachabilityChecks2.types | 2 - .../reference/reachabilityChecks7.types | 2 - .../reference/reactImportDropped.types | 7 - .../reference/readonlyInDeclarationFile.types | 6 - .../baselines/reference/readonlyMembers.types | 3 - .../reference/reboundBaseClassSymbol.types | 3 - tests/baselines/reference/rectype.types | 5 - ...curringTypeParamForContainerOfBase01.types | 21 - .../reference/recursiveBaseCheck3.types | 4 - .../reference/recursiveBaseCheck4.types | 1 - .../reference/recursiveBaseCheck5.types | 13 - .../reference/recursiveBaseCheck6.types | 2 - .../recursiveBaseConstructorCreation1.types | 1 - .../recursiveBaseConstructorCreation2.types | 1 - .../recursiveBaseConstructorCreation3.types | 5 - .../recursiveClassReferenceTest.types | 33 - .../recursiveComplicatedClasses.types | 3 - ...eExportAssignmentAndFindAliasedType1.types | 1 - ...eExportAssignmentAndFindAliasedType2.types | 1 - ...eExportAssignmentAndFindAliasedType3.types | 1 - ...eExportAssignmentAndFindAliasedType4.types | 1 - ...eExportAssignmentAndFindAliasedType5.types | 1 - ...eExportAssignmentAndFindAliasedType6.types | 1 - ...eExportAssignmentAndFindAliasedType7.types | 1 - .../reference/recursiveFunctionTypes.types | 4 - .../recursiveGenericMethodCall.types | 7 - ...cursiveGenericSignatureInstantiation.types | 2 - .../recursiveGenericTypeHierarchy.types | 32 +- .../recursiveGenericUnionType1.types | 17 - .../recursiveGenericUnionType2.types | 17 - .../recursiveIdenticalAssignment.types | 17 - ...recursiveIdenticalOverloadResolution.types | 5 - .../reference/recursiveInheritance.types | 8 - .../reference/recursiveInheritance2.types | 12 - .../reference/recursiveInheritance3.types | 4 - .../recursiveInheritanceGeneric.types | 5 - .../recursiveIntersectionTypes.types | 13 - .../reference/recursiveMappedTypes.types | 12 - tests/baselines/reference/recursiveMods.types | 3 - .../recursiveResolveDeclaredMembers.types | 19 +- .../recursiveResolveTypeMembers.types | 11 - ...pecializationOfExtendedTypeWithError.types | 5 - .../recursiveSpecializationOfSignatures.types | 5 - .../reference/recursiveTupleTypes1.types | 10 - .../reference/recursiveTupleTypes2.types | 10 - .../reference/recursiveTypeComparison.types | 17 - .../reference/recursiveTypeComparison2.types | 75 - .../reference/recursiveTypeIdentity.types | 14 - .../recursiveTypeInGenericConstraint.types | 13 - ...eterConstraintReferenceLacksTypeArgs.types | 2 - ...ecursiveTypeParameterReferenceError1.types | 16 - ...ecursiveTypeParameterReferenceError2.types | 17 - .../reference/recursiveTypeRelations.types | 37 - .../baselines/reference/recursiveTypes1.types | 18 - ...cursiveTypesUsedAsFunctionParameters.types | 51 - .../reference/recursiveTypesWithTypeof.types | 17 - .../recursiveUnionTypeInference.types | 8 - ...elySpecializedConstructorDeclaration.types | 9 - .../redeclarationOfVarWithGenericType.types | 6 - ...eexportWrittenCorrectlyInDeclaration.types | 1 - ...ferenceTypesPreferedToPathIfPossible.types | 1 - .../reference/reorderProperties.types | 24 - .../reference/requireEmitSemicolon.types | 1 - .../requiredInitializedParameter2.types | 3 - .../requiredInitializedParameter3.types | 3 - .../reservedNameOnInterfaceImport.types | 3 - .../reservedNameOnModuleImport.types | 1 - ...ervedNameOnModuleImportWithInterface.types | 5 - .../reference/reservedNamesInAliases.types | 7 - ...rfaceNameWithSameLetDeclarationName1.types | 3 - ...rfaceNameWithSameLetDeclarationName2.types | 8 - ...oduleNameWithSameLetDeclarationName1.types | 3 - ...oduleNameWithSameLetDeclarationName2.types | 3 - ...TypeAliasWithSameLetDeclarationName1.types | 2 - ...sDeclarationWhenInBaseTypeResolution.types | 3859 ----------------- .../reference/restInvalidArgumentType.types | 16 - ...restParameterAssignmentCompatibility.types | 3 - ...ParameterWithoutAnnotationIsAnyArray.types | 2 - .../restParametersOfNonArrayTypes.types | 5 - .../restParametersOfNonArrayTypes2.types | 39 - ...stParametersWithArrayTypeAnnotations.types | 18 - .../reference/restTupleElements1.types | 19 - .../restTuplesFromContextualTypes.types | 3 - .../returnInfiniteIntersection.types | 2 - .../reference/returnStatements.types | 7 - .../reference/returnTypeParameter.types | 6 - .../returnTypeParameterWithModules.types | 12 - .../reference/returnTypeTypeArguments.types | 66 - .../reference/reuseInnerModuleMember.types | 8 +- ...seInferenceInContextualInstantiation.types | 3 - .../reverseMappedContravariantInference.types | 6 - .../reversedRecusiveTypeInstantiation.types | 10 - tests/baselines/reference/scannerClass2.types | 2 - .../scopeResolutionIdentifiers.types | 2 - tests/baselines/reference/selfInLambdas.types | 6 - tests/baselines/reference/selfReference.types | 3 - .../semicolonsInModuleDeclarations.types | 5 - .../reference/shadowedInternalModule.types | 6 - ...sigantureIsSubTypeIfTheyAreIdentical.types | 7 - ...nstantiationWithRecursiveConstraints.types | 7 - ...irectedDeepObjectLiteralElaborations.types | 4 - .../sourceMap-FileWithComments.types | 4 - ...terfacePrecedingVariableDeclaration1.types | 2 - .../sourceMap-StringLiteralWithNewLine.types | 5 - .../baselines/reference/sourceMapSample.types | 2 - .../sourceMapValidationClasses.types | 2 - .../sourceMapValidationDecorators.types | 8 - ...nDestructuringForArrayBindingPattern.types | 3 - ...DestructuringForArrayBindingPattern2.types | 5 - ...gForArrayBindingPatternDefaultValues.types | 3 - ...ForArrayBindingPatternDefaultValues2.types | 4 - ...DestructuringForObjectBindingPattern.types | 10 - ...estructuringForObjectBindingPattern2.types | 14 - ...ForObjectBindingPatternDefaultValues.types | 10 - ...orObjectBindingPatternDefaultValues2.types | 14 - ...estructuringForOfArrayBindingPattern.types | 4 - ...structuringForOfArrayBindingPattern2.types | 4 - ...orOfArrayBindingPatternDefaultValues.types | 4 - ...rOfArrayBindingPatternDefaultValues2.types | 4 - ...structuringForOfObjectBindingPattern.types | 6 - ...tructuringForOfObjectBindingPattern2.types | 6 - ...rOfObjectBindingPatternDefaultValues.types | 8 - ...OfObjectBindingPatternDefaultValues2.types | 8 - ...gParameterNestedObjectBindingPattern.types | 6 - ...tedObjectBindingPatternDefaultValues.types | 6 - ...cturingParameterObjectBindingPattern.types | 6 - ...terObjectBindingPatternDefaultValues.types | 6 - ...cturingParametertArrayBindingPattern.types | 5 - ...turingParametertArrayBindingPattern2.types | 5 - ...tertArrayBindingPatternDefaultValues.types | 5 - ...ertArrayBindingPatternDefaultValues2.types | 4 - ...dationDestructuringVariableStatement.types | 4 - ...ationDestructuringVariableStatement1.types | 4 - ...VariableStatementArrayBindingPattern.types | 2 - ...ariableStatementArrayBindingPattern2.types | 2 - ...ariableStatementArrayBindingPattern3.types | 5 - ...mentArrayBindingPatternDefaultValues.types | 2 - ...entArrayBindingPatternDefaultValues2.types | 2 - ...entArrayBindingPatternDefaultValues3.types | 5 - ...turingVariableStatementDefaultValues.types | 4 - ...eStatementNestedObjectBindingPattern.types | 4 - ...bjectBindingPatternWithDefaultValues.types | 5 - ...ipleFilesWithFileEndingWithInterface.types | 2 - .../reference/specializationError.types | 14 - .../specializationOfExportedClass.types | 1 - ...cializationsShouldNotAffectEachOther.types | 3 - .../reference/specializeVarArgs1.types | 10 - .../specializedInheritedConstructors1.types | 11 - .../specializedLambdaTypeArguments.types | 5 - ...pecializedOverloadWithRestParameters.types | 6 - .../specializedSignatureInInterface.types | 5 - ...sNotSubtypeOfNonSpecializedSignature.types | 27 - ...reIsSubtypeOfNonSpecializedSignature.types | 27 - ...natureOverloadReturnTypeWithIndexers.types | 8 - .../spreadContextualTypedBindingPattern.types | 4 - .../reference/spreadIntersectionJsx.types | 2 - .../reference/spreadInvalidArgumentType.types | 16 - tests/baselines/reference/spreadMethods.types | 2 - .../reference/spreadTypeRemovesReadonly.types | 3 - ...ymousTypeNotReferencingTypeParameter.types | 79 - .../baselines/reference/staticIndexers.types | 2 - .../reference/staticInstanceResolution.types | 2 - .../reference/staticInstanceResolution3.types | 1 - .../reference/staticInstanceResolution5.types | 4 - .../staticInterfaceAssignmentCompat.types | 5 - .../reference/staticMemberExportAccess.types | 5 - ...PublicMemberOfAnotherClassAssignment.types | 5 - ...staticMembersUsingClassTypeParameter.types | 11 - ...staticMethodReferencingTypeArgument1.types | 11 - ...thTypeParameterExtendsClauseDeclFile.types | 12 - ...ethodsReferencingClassTypeParameters.types | 2 - .../reference/staticOffOfInstance2.types | 1 - .../staticPropertyNotInClassType.types | 5 - .../staticPrototypePropertyOnClass.types | 1 - .../reference/strictFunctionTypes1.types | 29 - .../reference/strictFunctionTypesErrors.types | 90 - .../strictModeEnumMemberNameReserved.types | 1 - .../reference/strictModeReservedWord.types | 7 - .../reference/strictModeReservedWord2.types | 4 - ...ctModeReservedWordInClassDeclaration.types | 9 - ...tModeReservedWordInModuleDeclaration.types | 10 - .../strictNullChecksNoWidening.types | 3 - .../strictNullNotNullIndexTypeNoLib.types | 22 - ...strictNullNotNullIndexTypeShouldWork.types | 17 - .../reference/strictTupleLength.types | 3 - .../stringEnumInElementAccess01.types | 4 - .../reference/stringEnumLiteralTypes1.types | 32 - .../reference/stringEnumLiteralTypes2.types | 32 - .../reference/stringEnumLiteralTypes3.types | 44 - .../stringIndexerAndConstructor.types | 2 - .../stringIndexerAndConstructor1.types | 2 - .../reference/stringIndexerAssignments2.types | 3 - ...ndexerConstrainsPropertyDeclarations.types | 9 - ...dexerConstrainsPropertyDeclarations2.types | 12 - .../reference/stringIndexingResults.types | 4 - .../stringLiteralCheckedInIf01.types | 4 - .../stringLiteralCheckedInIf02.types | 6 - .../stringLiteralMatchedInSwitch01.types | 4 - .../stringLiteralTypeAssertion01.types | 12 - .../stringLiteralTypeIsSubtypeOfString.types | 44 - .../stringLiteralTypesAndTuples01.types | 2 - .../stringLiteralTypesAsTags01.types | 22 - .../stringLiteralTypesAsTags02.types | 21 - .../stringLiteralTypesAsTags03.types | 20 - ...eralTypesAsTypeParameterConstraint01.types | 6 - ...eralTypesAsTypeParameterConstraint02.types | 3 - ...teralTypesInImplementationSignatures.types | 2 - ...eralTypesInImplementationSignatures2.types | 2 - .../stringLiteralTypesInUnionTypes01.types | 1 - .../stringLiteralTypesInUnionTypes02.types | 1 - .../stringLiteralTypesInUnionTypes03.types | 1 - .../stringLiteralTypesInUnionTypes04.types | 2 - .../stringLiteralTypesOverloads01.types | 1 - .../stringLiteralTypesOverloads03.types | 19 - .../stringLiteralTypesOverloads05.types | 11 - .../stringLiteralTypesTypePredicates01.types | 7 - ...alsAssertionsInEqualityComparisons02.types | 1 - .../stringLiteralsWithEqualityChecks03.types | 6 - .../stringLiteralsWithEqualityChecks04.types | 6 - .../reference/stringNamedPropertyAccess.types | 4 - .../stringNamedPropertyDuplicates.types | 2 - tests/baselines/reference/structural1.types | 3 - ...classWithPolymorphicThisIsAssignable.types | 9 - .../reference/subtypeRelationForNever.types | 10 - tests/baselines/reference/subtypesOfAny.types | 57 - .../reference/subtypesOfTypeParameter.types | 30 - ...btypesOfTypeParameterWithConstraints.types | 242 -- ...typesOfTypeParameterWithConstraints2.types | 88 - ...typesOfTypeParameterWithConstraints3.types | 7 - ...typesOfTypeParameterWithConstraints4.types | 82 - ...ypeParameterWithRecursiveConstraints.types | 253 -- .../baselines/reference/subtypesOfUnion.types | 32 - .../reference/subtypingTransitivity.types | 4 - .../subtypingWithCallSignatures.types | 4 - .../subtypingWithCallSignatures2.types | 165 - .../subtypingWithCallSignatures3.types | 127 - .../subtypingWithCallSignatures4.types | 143 - ...CallSignaturesWithOptionalParameters.types | 56 - ...WithCallSignaturesWithRestParameters.types | 92 - ...lSignaturesWithSpecializedSignatures.types | 43 - .../subtypingWithConstructSignatures.types | 4 - .../subtypingWithConstructSignatures2.types | 172 - .../subtypingWithConstructSignatures3.types | 119 - .../subtypingWithConstructSignatures4.types | 143 - .../subtypingWithConstructSignatures5.types | 126 - .../subtypingWithConstructSignatures6.types | 85 - ...ructSignaturesWithOptionalParameters.types | 56 - ...tSignaturesWithSpecializedSignatures.types | 43 - ...CallSignaturesWithOptionalParameters.types | 396 -- ...ructSignaturesWithOptionalParameters.types | 396 -- .../subtypingWithNumericIndexer.types | 23 - .../subtypingWithNumericIndexer2.types | 54 - .../subtypingWithNumericIndexer3.types | 27 - .../subtypingWithNumericIndexer4.types | 13 - .../subtypingWithNumericIndexer5.types | 38 - .../subtypingWithObjectMembers.types | 18 - .../subtypingWithObjectMembers2.types | 57 - .../subtypingWithObjectMembers3.types | 63 - .../subtypingWithObjectMembers4.types | 6 - .../subtypingWithObjectMembers5.types | 35 - ...typingWithObjectMembersAccessibility.types | 6 - ...ypingWithObjectMembersAccessibility2.types | 12 - ...ubtypingWithObjectMembersOptionality.types | 51 - ...btypingWithObjectMembersOptionality2.types | 26 - ...btypingWithObjectMembersOptionality3.types | 26 - ...btypingWithObjectMembersOptionality4.types | 26 - .../subtypingWithOptionalProperties.types | 2 - .../subtypingWithStringIndexer.types | 23 - .../subtypingWithStringIndexer2.types | 54 - .../subtypingWithStringIndexer3.types | 27 - .../subtypingWithStringIndexer4.types | 13 - .../reference/superAccessCastedCall.types | 1 - .../reference/superCallArgsMustMatch.types | 3 - ...FromClassThatDerivesFromGenericType1.types | 5 - ...FromClassThatDerivesFromGenericType2.types | 4 - ...tWithIncorrectNumberOfTypeArguments1.types | 4 - ...omGenericTypeButWithNoTypeArguments1.types | 4 - ...NoBaseTypeButWithSameSymbolInterface.types | 2 - ...superCallInConstructorWithNoBaseType.types | 2 - .../superCallParameterContextualTyping1.types | 4 - .../superCallParameterContextualTyping2.types | 4 - .../superCallParameterContextualTyping3.types | 9 - .../superHasMethodsFromMergedInterface.types | 1 - tests/baselines/reference/superNewCall1.types | 4 - .../superWithGenericSpecialization.types | 5 - .../reference/superWithGenerics.types | 5 - .../reference/superWithTypeArgument.types | 2 - .../reference/superWithTypeArgument2.types | 5 - .../reference/superWithTypeArgument3.types | 8 - .../switchComparableCompatForBrands.types | 1 - .../reference/switchStatements.types | 5 - .../switchWithConstrainedTypeVariable.types | 2 - .../reference/symbolDeclarationEmit12.types | 6 - .../reference/symbolDeclarationEmit5.types | 2 - .../reference/symbolDeclarationEmit6.types | 2 - ...symbolLinkDeclarationEmitModuleNames.types | 10 - ...kDeclarationEmitModuleNamesImportRef.types | 4 +- ...inkDeclarationEmitModuleNamesRootDir.types | 11 - .../reference/symbolProperty10.types | 4 - .../reference/symbolProperty11.types | 4 - .../reference/symbolProperty12.types | 4 - .../reference/symbolProperty13.types | 7 - .../reference/symbolProperty14.types | 7 - .../reference/symbolProperty15.types | 7 - .../reference/symbolProperty16.types | 7 - .../reference/symbolProperty17.types | 3 - .../reference/symbolProperty20.types | 3 - .../reference/symbolProperty21.types | 13 - .../reference/symbolProperty22.types | 13 - .../reference/symbolProperty23.types | 3 - .../reference/symbolProperty24.types | 3 - .../reference/symbolProperty25.types | 3 - .../reference/symbolProperty28.types | 1 - .../reference/symbolProperty35.types | 8 - .../reference/symbolProperty37.types | 2 - .../reference/symbolProperty38.types | 4 - .../reference/symbolProperty50.types | 1 - .../reference/symbolProperty51.types | 1 - .../reference/symbolProperty55.types | 1 - .../reference/symbolProperty58.types | 2 - .../reference/symbolProperty59.types | 2 - .../reference/symbolProperty60.types | 8 - .../baselines/reference/symbolProperty8.types | 2 - .../baselines/reference/symbolProperty9.types | 4 - tests/baselines/reference/symbolType15.types | 1 - tests/baselines/reference/symbolType16.types | 2 - tests/baselines/reference/symbolType17.types | 2 - tests/baselines/reference/symbolType18.types | 2 - tests/baselines/reference/symbolType19.types | 1 - tests/baselines/reference/symbolType20.types | 3 +- tests/baselines/reference/syntaxErrors.types | 2 - .../baselines/reference/systemModule17.types | 3 - tests/baselines/reference/systemModule7.types | 3 - .../reference/systemModuleConstEnums.types | 2 - ...mModuleConstEnumsSeparateCompilation.types | 2 - .../taggedTemplateContextualTyping1.types | 22 - .../taggedTemplateContextualTyping2.types | 12 - ...TemplateStringsTypeArgumentInference.types | 65 - ...plateStringsTypeArgumentInferenceES6.types | 65 - ...lateStringsWithIncompatibleTypedTags.types | 9 - ...eStringsWithIncompatibleTypedTagsES6.types | 9 - ...ingsWithManyCallAndMemberExpressions.types | 5 - ...sWithManyCallAndMemberExpressionsES6.types | 5 - ...mplateStringsWithOverloadResolution1.types | 4 - ...teStringsWithOverloadResolution1_ES6.types | 4 - ...mplateStringsWithOverloadResolution2.types | 2 - ...teStringsWithOverloadResolution2_ES6.types | 2 - ...mplateStringsWithOverloadResolution3.types | 37 - ...teStringsWithOverloadResolution3_ES6.types | 37 - .../taggedTemplateStringsWithTypedTags.types | 9 - ...aggedTemplateStringsWithTypedTagsES6.types | 9 - .../taggedTemplateUntypedTagCall01.types | 1 - ...taggedTemplateWithConstructableTag02.types | 3 - .../taggedTemplateWithoutDeclaredHelper.types | 2 - .../taggedTemplatesInDifferentScopes.types | 1 - .../taggedTemplatesInModuleAndGlobal.types | 6 - ...ithIncompleteNoSubstitutionTemplate1.types | 1 - ...ithIncompleteNoSubstitutionTemplate2.types | 1 - ...esWithIncompleteTemplateExpressions1.types | 1 - ...esWithIncompleteTemplateExpressions2.types | 1 - ...esWithIncompleteTemplateExpressions3.types | 1 - ...esWithIncompleteTemplateExpressions4.types | 1 - ...esWithIncompleteTemplateExpressions5.types | 1 - ...esWithIncompleteTemplateExpressions6.types | 1 - .../taggedTemplatesWithTypeArguments1.types | 29 - .../taggedTemplatesWithTypeArguments2.types | 20 - .../reference/targetTypeCastTest.types | 6 - .../baselines/reference/targetTypeTest1.types | 2 - ...lateStringsArrayTypeDefinedInES5Mode.types | 1 - ...ateStringsArrayTypeNotDefinedES5Mode.types | 1 - ...teStringsArrayTypeRedefinedInES6Mode.types | 1 - tests/baselines/reference/testTypings.types | 9 - tests/baselines/reference/thisBinding.types | 4 - .../thisExpressionOfGenericObject.types | 2 - .../thisInGenericStaticMembers.types | 11 - .../thisInInstanceMemberInitializer.types | 2 - .../reference/thisInInvalidContexts.types | 2 - .../thisInInvalidContextsExternalModule.types | 2 - .../reference/thisInObjectLiterals.types | 1 - .../thisInPropertyBoundDeclarations.types | 2 - .../thisInTupleTypeParameterConstraints.types | 22 - .../reference/thisTypeAccessibility.types | 9 - .../reference/thisTypeAndConstraints.types | 12 - .../reference/thisTypeAsConstraint.types | 1 - .../baselines/reference/thisTypeErrors.types | 2 - .../baselines/reference/thisTypeErrors2.types | 2 - .../reference/thisTypeInAccessors.types | 9 - .../thisTypeInAccessorsNegative.types | 7 - ...ePropertyAndDerivedContainerOfBase01.types | 11 - .../reference/thisTypeInClasses.types | 9 - .../reference/thisTypeInFunctions.types | 17 - .../reference/thisTypeInFunctions2.types | 9 - .../reference/thisTypeInFunctions3.types | 2 - .../thisTypeInFunctionsNegative.types | 23 - .../reference/thisTypeInInterfaces.types | 15 - .../reference/thisTypeInObjectLiterals.types | 3 - .../reference/thisTypeInObjectLiterals2.types | 101 - .../reference/thisTypeInTuples.types | 3 - .../reference/thisTypeInTypePredicate.types | 5 - .../throwInEnclosingStatements.types | 4 - .../baselines/reference/throwStatements.types | 12 - ...umentsInGenericFunctionTypedArgument.types | 32 - .../reference/tooManyTypeParameters1.types | 9 - tests/baselines/reference/topLevel.types | 3 - ...mmasInFunctionParametersAndArguments.types | 2 - .../transformNestedGeneratorsWithTry.types | 5 - .../transformsElideNullUndefinedType.types | 2 - .../transitiveTypeArgumentInference1.types | 10 - .../reference/tsxAttributeErrors.types | 6 - .../reference/tsxAttributeInvalidNames.types | 6 - ...uteQuickinfoTypesSameAsObjectLiteral.types | 6 - .../reference/tsxAttributeResolution.types | 4 - .../reference/tsxAttributeResolution1.types | 9 - .../reference/tsxAttributeResolution10.types | 7 - .../reference/tsxAttributeResolution11.types | 9 - .../reference/tsxAttributeResolution12.types | 28 - .../reference/tsxAttributeResolution14.types | 10 - .../reference/tsxAttributeResolution16.types | 11 - .../reference/tsxAttributeResolution2.types | 9 - .../reference/tsxAttributeResolution3.types | 9 - .../reference/tsxAttributeResolution4.types | 9 - .../reference/tsxAttributeResolution5.types | 18 - .../reference/tsxAttributeResolution6.types | 6 - .../reference/tsxAttributeResolution7.types | 6 - .../reference/tsxAttributeResolution8.types | 6 - .../reference/tsxAttributeResolution9.types | 9 - .../tsxAttributesHasInferrableIndex.types | 9 - ...tsxCorrectlyParseLessThanComparison1.types | 9 - .../tsxDeepAttributeAssignabilityError.types | 6 - .../tsxDefaultAttributesResolution1.types | 3 - .../tsxDefaultAttributesResolution2.types | 3 - .../tsxDefaultAttributesResolution3.types | 3 - .../reference/tsxDynamicTagName2.types | 6 - .../reference/tsxDynamicTagName3.types | 6 - .../reference/tsxDynamicTagName4.types | 6 - .../reference/tsxDynamicTagName5.types | 2 - .../reference/tsxDynamicTagName6.types | 6 - .../reference/tsxDynamicTagName7.types | 2 - .../reference/tsxDynamicTagName8.types | 2 - .../reference/tsxDynamicTagName9.types | 2 - .../reference/tsxElementResolution.types | 4 - .../reference/tsxElementResolution1.types | 6 - .../reference/tsxElementResolution10.types | 13 - .../reference/tsxElementResolution11.types | 16 - .../reference/tsxElementResolution12.types | 18 - .../reference/tsxElementResolution13.types | 8 - .../reference/tsxElementResolution14.types | 6 - .../reference/tsxElementResolution15.types | 9 - .../reference/tsxElementResolution16.types | 4 - .../reference/tsxElementResolution17.types | 5 - .../reference/tsxElementResolution18.types | 3 - .../reference/tsxElementResolution19.types | 3 - .../reference/tsxElementResolution2.types | 6 - .../reference/tsxElementResolution3.types | 6 - .../reference/tsxElementResolution4.types | 6 - .../reference/tsxElementResolution5.types | 3 - .../reference/tsxElementResolution6.types | 5 - .../reference/tsxElementResolution7.types | 5 - .../reference/tsxElementResolution8.types | 13 - .../reference/tsxElementResolution9.types | 13 - tests/baselines/reference/tsxEmit1.types | 6 - tests/baselines/reference/tsxEmit2.types | 6 - tests/baselines/reference/tsxEmit3.types | 5 - .../reference/tsxErrorRecovery1.types | 2 - .../reference/tsxErrorRecovery2.types | 2 - .../reference/tsxErrorRecovery3.types | 2 - .../reference/tsxExternalModuleEmit1.types | 2 - .../reference/tsxFragmentErrors.types | 6 - .../reference/tsxFragmentPreserveEmit.types | 6 - .../reference/tsxFragmentReactEmit.types | 6 - .../tsxGenericArrowFunctionParsing.types | 6 - .../reference/tsxGenericAttributesType1.types | 16 - .../reference/tsxGenericAttributesType2.types | 5 - .../reference/tsxGenericAttributesType3.types | 4 - .../reference/tsxGenericAttributesType4.types | 4 - .../reference/tsxGenericAttributesType5.types | 5 - .../reference/tsxGenericAttributesType6.types | 5 - .../reference/tsxGenericAttributesType7.types | 7 - .../reference/tsxGenericAttributesType8.types | 7 - .../reference/tsxGenericAttributesType9.types | 5 - .../reference/tsxInArrowFunction.types | 6 - ...sxInferenceShouldNotYieldAnyOnUnions.types | 21 - .../tsxIntrinsicAttributeErrors.types | 17 - .../tsxLibraryManagedAttributes.types | 88 - .../reference/tsxOpeningClosingNames.types | 3 - .../baselines/reference/tsxParseTests1.types | 5 - .../baselines/reference/tsxParseTests2.types | 5 - .../reference/tsxPreserveEmit1.types | 1 - .../reference/tsxPreserveEmit3.types | 6 - ...ctComponentWithDefaultTypeParameter1.types | 6 - ...ctComponentWithDefaultTypeParameter2.types | 6 - ...ctComponentWithDefaultTypeParameter3.types | 6 - tests/baselines/reference/tsxReactEmit1.types | 6 - tests/baselines/reference/tsxReactEmit2.types | 6 - tests/baselines/reference/tsxReactEmit3.types | 3 - tests/baselines/reference/tsxReactEmit4.types | 6 - tests/baselines/reference/tsxReactEmit5.types | 6 - tests/baselines/reference/tsxReactEmit6.types | 6 - tests/baselines/reference/tsxReactEmit7.types | 6 - .../reference/tsxReactEmitEntities.types | 6 - .../reference/tsxReactEmitWhitespace.types | 6 - .../reference/tsxReactEmitWhitespace2.types | 6 - .../tsxSpreadAttributesResolution10.types | 5 - .../tsxSpreadAttributesResolution11.types | 3 - .../tsxSpreadAttributesResolution12.types | 3 - .../tsxSpreadAttributesResolution13.types | 6 - .../tsxSpreadAttributesResolution14.types | 6 - .../tsxSpreadAttributesResolution15.types | 6 - .../tsxSpreadAttributesResolution16.types | 6 - .../tsxSpreadAttributesResolution17.types | 5 - .../tsxSpreadAttributesResolution2.types | 3 - .../tsxSpreadAttributesResolution3.types | 3 - .../tsxSpreadAttributesResolution4.types | 4 - .../tsxSpreadAttributesResolution5.types | 3 - .../tsxSpreadAttributesResolution6.types | 2 - .../tsxSpreadAttributesResolution7.types | 3 - .../tsxSpreadAttributesResolution8.types | 3 - .../tsxSpreadAttributesResolution9.types | 5 - .../reference/tsxSpreadChildren.types | 13 - .../tsxSpreadChildrenInvalidType.types | 14 - ...xStatelessFunctionComponentOverload1.types | 11 - ...xStatelessFunctionComponentOverload2.types | 2 - ...xStatelessFunctionComponentOverload3.types | 9 - ...xStatelessFunctionComponentOverload4.types | 8 - ...xStatelessFunctionComponentOverload5.types | 23 - ...xStatelessFunctionComponentOverload6.types | 23 - ...onComponentWithDefaultTypeParameter1.types | 5 - ...onComponentWithDefaultTypeParameter2.types | 5 - .../tsxStatelessFunctionComponents3.types | 2 - ...FunctionComponentsWithTypeArguments1.types | 22 - ...FunctionComponentsWithTypeArguments2.types | 23 - ...FunctionComponentsWithTypeArguments3.types | 20 - ...FunctionComponentsWithTypeArguments4.types | 14 - ...FunctionComponentsWithTypeArguments5.types | 13 - ...ArgumentPartialDefinitionStillErrors.types | 8 - .../reference/tsxTypeArgumentResolution.types | 23 - .../baselines/reference/tsxUnionSpread.types | 10 - .../reference/tsxUnionTypeComponent1.types | 5 - .../reference/tsxUnionTypeComponent2.types | 2 - .../reference/tupleTypeInference.types | 42 - .../reference/tupleTypeInference2.types | 36 - tests/baselines/reference/tupleTypes.types | 13 - ...terfacesDifferingByTypeParameterName.types | 66 - ...erfacesDifferingByTypeParameterName2.types | 50 - ...icInterfacesWithDifferentConstraints.types | 73 - ...acesWithTheSameNameButDifferentArity.types | 46 - .../twoInterfacesDifferentRootModule.types | 16 - .../twoInterfacesDifferentRootModule2.types | 16 - ...rgedInterfacesWithDifferingOverloads.types | 53 - ...gedInterfacesWithDifferingOverloads2.types | 20 - .../reference/typeAliasDeclarationEmit.types | 5 - .../reference/typeAliasDeclarationEmit2.types | 2 - ...ypeAliasDoesntMakeModuleInstantiated.types | 8 - .../typeAliasFunctionTypeSharedSymbol.types | 8 - tests/baselines/reference/typeAliases.types | 32 - .../reference/typeAliasesForObjectTypes.types | 5 - ...notationBestCommonTypeInArrayLiteral.types | 3 - .../reference/typeArgInference.types | 17 - .../reference/typeArgInference2.types | 7 - .../typeArgInference2WithError.types | 7 - .../reference/typeArgInferenceWithNull.types | 8 - .../typeArgumentConstraintResolution1.types | 18 - .../reference/typeArgumentInference.types | 53 - .../typeArgumentInferenceApparentType1.types | 4 - .../typeArgumentInferenceApparentType2.types | 9 - ...ArgumentInferenceConstructSignatures.types | 89 - .../typeArgumentInferenceErrors.types | 18 - .../typeArgumentInferenceOrdering.types | 9 - ...gumentInferenceTransitiveConstraints.types | 10 - ...rgumentInferenceWithClassExpression1.types | 3 - ...rgumentInferenceWithClassExpression2.types | 3 - ...rgumentInferenceWithClassExpression3.types | 3 - ...tInferenceWithConstraintAsCommonRoot.types | 12 - ...typeArgumentInferenceWithConstraints.types | 55 - ...peArgumentInferenceWithObjectLiteral.types | 16 - ...lyReferencedTypeAliasToTypeLiteral01.types | 2 - ...lyReferencedTypeAliasToTypeLiteral02.types | 3 - .../typeArgumentsInFunctionExpressions.types | 7 - ...mentsOnFunctionsWithNoTypeParameters.types | 4 - ...ntsShouldDisallowNonGenericOverloads.types | 2 - ...ypeArgumentsWithStringLiteralTypes01.types | 10 - .../typeAssertionToGenericFunctionType.types | 5 - .../baselines/reference/typeAssertions.types | 13 - ...ypeAssertionsWithIntersectionTypes01.types | 15 - .../typeAssertionsWithUnionTypes01.types | 10 - .../reference/typeCheckTypeArgument.types | 13 - .../reference/typeComparisonCaching.types | 16 - ...peConstraintsWithConstructSignatures.types | 6 - .../baselines/reference/typeGuardEnums.types | 2 - .../reference/typeGuardFunction.types | 39 - .../reference/typeGuardFunctionErrors.types | 95 - .../reference/typeGuardFunctionGenerics.types | 30 - .../typeGuardFunctionOfFormThis.types | 27 - .../typeGuardFunctionOfFormThisErrors.types | 7 - .../typeGuardIntersectionTypes.types | 33 - ...ypeGuardNarrowsPrimitiveIntersection.types | 6 - .../typeGuardNarrowsToLiteralType.types | 1 - .../typeGuardNarrowsToLiteralTypeUnion.types | 1 - .../typeGuardOfFormExpr1AndExpr2.types | 4 - .../typeGuardOfFormExpr1OrExpr2.types | 4 - .../typeGuardOfFormFunctionEquality.types | 6 - .../reference/typeGuardOfFormInstanceOf.types | 17 - ...typeGuardOfFormInstanceOfOnInterface.types | 23 - .../reference/typeGuardOfFormIsType.types | 12 - .../typeGuardOfFormIsTypeOnInterfaces.types | 29 - .../reference/typeGuardOfFormThisMember.types | 35 - .../typeGuardOfFormThisMemberErrors.types | 8 - .../typeGuardOfFormTypeOfBoolean.types | 4 - ...ardOfFormTypeOfEqualEqualHasNoEffect.types | 1 - .../typeGuardOfFormTypeOfFunction.types | 7 - ...GuardOfFormTypeOfNotEqualHasNoEffect.types | 1 - .../typeGuardOfFormTypeOfNumber.types | 4 - .../typeGuardOfFormTypeOfOther.types | 4 - .../typeGuardOfFormTypeOfString.types | 4 - .../typeGuardOfFromPropNameInUnionType.types | 24 - .../typeGuardOnContainerTypeNoHang.types | 1 - .../reference/typeGuardsAsAssertions.types | 21 - .../reference/typeGuardsInProperties.types | 1 - .../typeGuardsNestedAssignments.types | 6 - .../reference/typeGuardsTypeParameters.types | 12 - .../reference/typeGuardsWithInstanceOf.types | 3 - ...WithInstanceOfByConstructorSignature.types | 68 - .../typeIdentityConsidersBrands.types | 2 - tests/baselines/reference/typeInfer1.types | 4 - .../typeInferenceConflictingCandidates.types | 6 - .../typeInferenceFBoundedTypeParams.types | 14 - .../reference/typeInferenceFixEarly.types | 4 - .../reference/typeInferenceLiteralUnion.types | 16 - .../typeInferenceReturnTypeCallback.types | 32 - .../typeInferenceTypePredicate.types | 5 - .../typeInferenceTypePredicate2.types | 1 - .../typeInferenceWithExcessProperties.types | 6 - .../typeInferenceWithTupleType.types | 14 - .../typeInferenceWithTypeAnnotation.types | 4 - .../reference/typeLiteralCallback.types | 11 - tests/baselines/reference/typeMatch1.types | 5 - tests/baselines/reference/typeName1.types | 8 - .../typeOfEnumAndVarRedeclarations.types | 4 - .../baselines/reference/typeOfOnTypeArg.types | 2 - tests/baselines/reference/typeOfThis.types | 22 - .../reference/typeOfThisInAccessor.types | 2 - .../typeOfThisInInstanceMember.types | 1 - .../typeOfThisInInstanceMember2.types | 4 - .../typeOfThisInMemberFunctions.types | 5 - .../reference/typeOfThisInStaticMembers.types | 1 - .../typeOfThisInStaticMembers2.types | 1 - .../typeParamExtendsOtherTypeParam.types | 28 - .../typeParameterAndArgumentOfSameName1.types | 4 - .../typeParameterArgumentEquivalence.types | 2 - .../typeParameterArgumentEquivalence2.types | 4 - .../typeParameterArgumentEquivalence3.types | 3 - .../typeParameterArgumentEquivalence4.types | 4 - .../typeParameterArgumentEquivalence5.types | 4 - .../reference/typeParameterAsBaseClass.types | 3 - .../reference/typeParameterAsBaseType.types | 11 - .../typeParameterAsElementType.types | 2 - .../typeParameterAsTypeArgument.types | 18 - ...peParameterAsTypeParameterConstraint.types | 18 - ...eParameterAsTypeParameterConstraint2.types | 15 - ...sTypeParameterConstraintTransitively.types | 23 - ...TypeParameterConstraintTransitively2.types | 25 - .../typeParameterAssignability.types | 4 - .../typeParameterAssignability2.types | 45 - .../typeParameterAssignability3.types | 14 - .../typeParameterAssignmentCompat1.types | 21 - ...peParameterAssignmentWithConstraints.types | 5 - ...eterCompatibilityAccrossDeclarations.types | 12 - ...meterConstrainedToOuterTypeParameter.types | 14 - ...eterConstrainedToOuterTypeParameter2.types | 18 - ...typeParameterConstraintInstantiation.types | 11 - .../reference/typeParameterConstraints1.types | 30 - .../reference/typeParameterDiamond1.types | 12 - .../reference/typeParameterDiamond2.types | 11 - .../reference/typeParameterDiamond3.types | 11 - .../reference/typeParameterDiamond4.types | 12 - ...ParameterDirectlyConstrainedToItself.types | 29 - .../reference/typeParameterEquality.types | 6 - .../typeParameterExplicitlyExtendsAny.types | 13 - .../typeParameterExtendingUnion1.types | 5 - .../typeParameterExtendingUnion2.types | 6 - .../typeParameterExtendsPrimitive.types | 18 - .../typeParameterFixingWithConstraints.types | 13 - ...rFixingWithContextSensitiveArguments.types | 14 - ...FixingWithContextSensitiveArguments2.types | 16 - ...FixingWithContextSensitiveArguments3.types | 17 - ...FixingWithContextSensitiveArguments4.types | 16 - ...FixingWithContextSensitiveArguments5.types | 16 - .../typeParameterHasSelfAsConstraint.types | 3 - .../typeParameterInConstraint1.types | 3 - ...rameterIndirectlyConstrainedToItself.types | 65 - .../typeParameterListWithTrailingComma1.types | 1 - .../typeParameterOrderReversal.types | 15 - .../typeParameterUsedAsConstraint.types | 131 - ...rameterUsedAsTypeParameterConstraint.types | 36 - ...ameterUsedAsTypeParameterConstraint2.types | 96 - ...ameterUsedAsTypeParameterConstraint3.types | 24 - ...ameterUsedAsTypeParameterConstraint4.types | 95 - ...peParameterWithInvalidConstraintType.types | 3 - ...rametersAndParametersInComputedNames.types | 5 - ...peParametersAreIdenticalToThemselves.types | 110 - ...typeParametersAvailableInNestedScope.types | 9 - ...ypeParametersAvailableInNestedScope2.types | 11 - .../typeParametersInStaticAccessors.types | 3 - .../typeParametersInStaticMethods.types | 3 - .../typeParametersInStaticProperties.types | 2 - .../typeParametersShouldNotBeEqual.types | 5 - .../typeParametersShouldNotBeEqual2.types | 9 - .../typeParametersShouldNotBeEqual3.types | 7 - .../reference/typePredicateASI.types | 3 - .../reference/typePredicateInLoop.types | 12 - ...typePredicateOnVariableDeclaration02.types | 1 - .../typePredicateStructuralMatch.types | 17 - .../typePredicateWithThisParameter.types | 10 - .../reference/typePredicatesInUnion.types | 9 - .../reference/typePredicatesInUnion2.types | 2 - .../typePredicatesInUnion_noMatch.types | 9 - .../reference/typeQueryOnClass.types | 5 - .../typeQueryWithReservedWords.types | 2 - .../reference/typeReferenceDirectives1.types | 4 - .../reference/typeReferenceDirectives10.types | 4 - .../reference/typeReferenceDirectives11.types | 2 - .../reference/typeReferenceDirectives12.types | 5 - .../reference/typeReferenceDirectives13.types | 3 - .../reference/typeReferenceDirectives2.types | 4 - .../reference/typeReferenceDirectives3.types | 4 - .../reference/typeReferenceDirectives4.types | 2 - .../reference/typeReferenceDirectives5.types | 3 - .../reference/typeReferenceDirectives6.types | 2 - .../reference/typeReferenceDirectives8.types | 2 - .../reference/typeReferenceDirectives9.types | 5 - .../reference/typeRelationships.types | 1 - .../baselines/reference/typeResolution.types | 33 - .../reference/typeUsedAsValueError.types | 3 - .../reference/typeUsedAsValueError2.types | 4 - tests/baselines/reference/typeVal.types | 3 - .../reference/typeValueConflict2.types | 2 - .../reference/typeVariableTypeGuards.types | 31 - tests/baselines/reference/typedArrays.types | 3 - .../typedGenericPrototypeMember.types | 2 - .../typedefMultipleTypeParameters.types | 1 - .../reference/typeofANonExportedType.types | 6 - .../reference/typeofAnExportedType.types | 6 - tests/baselines/reference/typeofClass.types | 1 - tests/baselines/reference/typeofClass2.types | 2 - .../reference/typeofClassWithPrivates.types | 4 - .../baselines/reference/typeofInterface.types | 3 - .../reference/typeofInternalModules.types | 5 - .../baselines/reference/typeofProperty.types | 9 - tests/baselines/reference/typeofSimple.types | 6 - .../reference/typeofStripsFreshness.types | 16 - .../reference/typeofTypeParameter.types | 3 - .../types.asyncGenerators.esnext.1.types | 30 - .../types.asyncGenerators.esnext.2.types | 21 - .../reference/types.forAwait.esnext.1.types | 2 - .../reference/types.forAwait.esnext.2.types | 2 - ...esOnlyExternalModuleStillHasInstance.types | 8 - .../typesWithDuplicateTypeParameters.types | 18 - .../reference/typesWithOptionalProperty.types | 3 - .../typesWithSpecializedCallSignatures.types | 15 - ...esWithSpecializedConstructSignatures.types | 11 - .../reference/umd-augmentation-1.types | 9 - .../reference/umd-augmentation-2.types | 9 - .../reference/umd-augmentation-3.types | 9 - .../reference/umd-augmentation-4.types | 9 - tests/baselines/reference/umd1.types | 2 - tests/baselines/reference/umd2.types | 1 - tests/baselines/reference/umd3.types | 2 - tests/baselines/reference/umd4.types | 2 - tests/baselines/reference/umd5.types | 2 - tests/baselines/reference/umd8.types | 5 - .../reference/undeclaredMethod.types | 1 - .../reference/undeclaredModuleError.types | 4 - .../undefinedArgumentInference.types | 4 - .../undefinedAssignableToEveryType.types | 20 - .../undefinedInferentialTyping.types | 4 - .../undefinedIsSubtypeOfEverything.types | 16 - .../reference/undefinedTypeArgument1.types | 1 - .../reference/undefinedTypeArgument2.types | 16 - .../reference/undefinedTypeAssignment4.types | 2 - .../reference/underscoreMapFirst.types | 45 - .../baselines/reference/underscoreTest1.types | 1527 ------- .../unionAndIntersectionInference1.types | 46 - .../unionAndIntersectionInference2.types | 6 - .../reference/unionPropertyExistence.types | 13 - .../unionSignaturesWithThisParameter.types | 6 - ...btypeIfEveryConstituentTypeIsSubtype.types | 71 - .../reference/unionThisTypeInFunctions.types | 6 - .../reference/unionTypeCallSignatures.types | 5 - .../reference/unionTypeCallSignatures2.types | 26 - .../reference/unionTypeCallSignatures4.types | 13 - .../unionTypeConstructSignatures.types | 5 - .../reference/unionTypeEquivalence.types | 3 - .../unionTypeErrorMessageTypeRefs01.types | 46 - .../reference/unionTypeFromArrayLiteral.types | 4 - .../reference/unionTypeIndexSignature.types | 3 - .../reference/unionTypeInference.types | 10 - .../reference/unionTypeLiterals.types | 1 - .../reference/unionTypeMembers.types | 18 - .../unionTypeParameterInference.types | 14 - .../unionTypePropertyAccessibility.types | 32 - .../reference/unionTypeReadonly.types | 19 - .../reference/unionTypeReduction.types | 8 - .../unionTypeWithIndexSignature.types | 6 - ...onTypeWithRecursiveSubtypeReduction1.types | 8 - ...onTypeWithRecursiveSubtypeReduction2.types | 8 - ...onTypeWithRecursiveSubtypeReduction3.types | 2 - .../reference/unionTypesAssignability.types | 11 - ...llowsIndexInObjectWithIndexSignature.types | 4 - tests/baselines/reference/uniqueSymbols.types | 24 - .../reference/uniqueSymbolsDeclarations.types | 20 - .../uniqueSymbolsDeclarationsErrors.types | 9 - .../reference/uniqueSymbolsErrors.types | 21 - ...PropertiesAreAssignableToObjectUnion.types | 2 - .../unknownSymbolInGenericReturnType.types | 5 - .../unknownSymbolOffContextualType1.types | 6 - .../baselines/reference/unknownSymbols1.types | 11 - .../baselines/reference/unknownSymbols2.types | 2 - tests/baselines/reference/unknownType1.types | 33 - .../reference/unknownTypeArgOnCall.types | 3 - .../reference/unknownTypeErrors.types | 1 - .../unresolvedTypeAssertionSymbol.types | 1 - .../reference/unspecializedConstraints.types | 48 - ...ypedFunctionCallsWithTypeParameters1.types | 19 - .../reference/unusedClassesinNamespace5.types | 1 - .../unusedIdentifiersConsolidated1.types | 20 - .../reference/unusedImportDeclaration.types | 1 - .../baselines/reference/unusedImports10.types | 2 - .../baselines/reference/unusedImports13.types | 3 - .../baselines/reference/unusedImports14.types | 3 - .../baselines/reference/unusedImports15.types | 3 - .../baselines/reference/unusedImports16.types | 3 - .../unusedInterfaceinNamespace1.types | 12 +- .../unusedInterfaceinNamespace2.types | 21 +- .../unusedInterfaceinNamespace3.types | 31 +- .../unusedInterfaceinNamespace4.types | 5 - .../unusedInterfaceinNamespace5.types | 7 - .../unusedInvalidTypeArguments.types | 14 - .../unusedLocalsAndParametersDeferred.types | 3 - ...ocalsAndParametersOverloadSignatures.types | 2 - ...unusedLocalsAndParametersTypeAliases.types | 12 - .../reference/unusedMethodsInInterface.types | 2 - .../reference/unusedModuleInModule.types | 8 +- .../reference/unusedNamespaceInModule.types | 12 +- .../unusedNamespaceInNamespace.types | 12 +- .../reference/unusedParametersThis.types | 5 - .../reference/unusedPrivateMembers.types | 2 - .../unusedTypeParameterInFunction1.types | 1 - .../unusedTypeParameterInFunction2.types | 3 - .../unusedTypeParameterInFunction3.types | 5 - .../unusedTypeParameterInFunction4.types | 5 - .../unusedTypeParameterInInterface1.types | 7 +- .../unusedTypeParameterInInterface2.types | 7 - .../unusedTypeParameterInLambda1.types | 1 - .../unusedTypeParameterInLambda2.types | 3 - .../unusedTypeParameterInLambda3.types | 5 - .../unusedTypeParameterInMethod1.types | 5 - .../unusedTypeParameterInMethod2.types | 5 - .../unusedTypeParameterInMethod3.types | 5 - .../unusedTypeParameterInMethod4.types | 1 - .../unusedTypeParameterInMethod5.types | 1 - .../reference/unusedTypeParameters1.types | 1 - .../reference/unusedTypeParameters10.types | 3 - .../reference/unusedTypeParameters2.types | 3 - .../reference/unusedTypeParameters3.types | 4 - .../reference/unusedTypeParameters4.types | 3 - .../reference/unusedTypeParameters5.types | 8 - .../reference/unusedTypeParameters6.types | 4 - .../reference/unusedTypeParameters7.types | 6 +- .../reference/unusedTypeParameters8.types | 5 +- .../reference/unusedTypeParameters9.types | 19 - ...arametersCheckedByNoUnusedParameters.types | 7 - ...ParametersNotCheckedByNoUnusedLocals.types | 7 - .../unusedTypeParametersWithUnderscore.types | 13 - .../useBeforeDeclaration_superClass.types | 3 - .../useObjectValuesAndEntries1.types | 3 - ...oduleWithExportImportInValuePosition.types | 5 - .../reference/validBooleanAssignments.types | 2 - .../reference/validEnumAssignments.types | 1 - .../validMultipleVariableDeclarations.types | 3 - .../reference/validNullAssignments.types | 5 - .../reference/validNumberAssignments.types | 2 - .../reference/validStringAssignments.types | 2 - .../reference/validUndefinedAssignments.types | 5 - .../reference/validUseOfThisInSuper.types | 1 - .../reference/varArgsOnConstructorTypes.types | 5 - ...aratorResolvedDuringContextualTyping.types | 105 - .../reference/verifyDefaultLib_dom.types | 1 - .../verifyDefaultLib_webworker.types | 1 - tests/baselines/reference/visSyntax.types | 1 - .../visibilityOfCrossModuleTypeUsage.types | 9 - .../visibilityOfTypeParameters.types | 3 - tests/baselines/reference/weakType.types | 20 - tests/baselines/reference/widenToAny1.types | 4 - tests/baselines/reference/widenToAny2.types | 3 - .../baselines/reference/wideningTuples1.types | 3 - .../reference/withStatementErrors.types | 2 - .../wrappedAndRecursiveConstraints.types | 10 - .../wrappedAndRecursiveConstraints2.types | 4 - .../wrappedAndRecursiveConstraints3.types | 8 - .../wrappedAndRecursiveConstraints4.types | 8 - .../wrappedRecursiveGenericType.types | 17 - .../reference/yieldExpression1.types | 1 - 3782 files changed, 308 insertions(+), 55978 deletions(-) mode change 100755 => 100644 tests/baselines/reference/taggedTemplateWithoutDeclaredHelper.types diff --git a/src/harness/typeWriter.ts b/src/harness/typeWriter.ts index 602ed458c93..72af0c7cde7 100644 --- a/src/harness/typeWriter.ts +++ b/src/harness/typeWriter.ts @@ -75,6 +75,12 @@ class TypeWriterWalker { const sourceText = ts.getSourceTextOfNodeFromSourceFile(this.currentSourceFile, node); if (!isSymbolWalk) { + // Don't try to get the type of something that's already a type. + // Exception for `T` in `type T = something` because that may evaluate to some interesting type. + if (ts.isPartOfTypeNode(node) || ts.isIdentifier(node) && !(ts.getMeaningFromDeclaration(node.parent) & ts.SemanticMeaning.Value) && !(ts.isTypeAlias(node.parent) && node.parent.name === node)) { + return undefined; + } + // Workaround to ensure we output 'C' instead of 'typeof C' for base class expressions // let type = this.checker.getTypeAtLocation(node); const type = node.parent && ts.isExpressionWithTypeArgumentsInClassExtendsClause(node.parent) && this.checker.getTypeAtLocation(node.parent) || this.checker.getTypeAtLocation(node); diff --git a/tests/baselines/reference/1.0lib-noErrors.types b/tests/baselines/reference/1.0lib-noErrors.types index 96e5acc7049..1d9c67834e7 100644 --- a/tests/baselines/reference/1.0lib-noErrors.types +++ b/tests/baselines/reference/1.0lib-noErrors.types @@ -103,8 +103,6 @@ declare function encodeURIComponent(uriComponent: string): string; >uriComponent : string interface PropertyDescriptor { ->PropertyDescriptor : PropertyDescriptor - configurable?: boolean; >configurable : boolean @@ -126,20 +124,14 @@ interface PropertyDescriptor { } interface PropertyDescriptorMap { ->PropertyDescriptorMap : PropertyDescriptorMap - [s: string]: PropertyDescriptor; >s : string ->PropertyDescriptor : PropertyDescriptor } interface Object { ->Object : Object - /** The initial value of Object.prototype.constructor is the standard built-in Object constructor. */ constructor: Function; >constructor : Function ->Function : Function /** Returns a string representation of an object. */ toString(): string; @@ -152,7 +144,6 @@ interface Object { /** Returns the primitive value of the specified object. */ valueOf(): Object; >valueOf : () => Object ->Object : Object /** * Determines whether an object has a property with the specified name. @@ -169,7 +160,6 @@ interface Object { isPrototypeOf(v: Object): boolean; >isPrototypeOf : (v: Object) => boolean >v : Object ->Object : Object /** * Determines whether a specified property is enumerable. @@ -188,7 +178,6 @@ declare var Object: { new (value?: any): Object; >value : any ->Object : Object (): any; (value: any): any; @@ -197,7 +186,6 @@ declare var Object: { /** A reference to the prototype for a class of objects. */ prototype: Object; >prototype : Object ->Object : Object /** * Returns the prototype of an object. @@ -217,7 +205,6 @@ declare var Object: { >getOwnPropertyDescriptor : (o: any, p: string) => PropertyDescriptor >o : any >p : string ->PropertyDescriptor : PropertyDescriptor /** * Returns the names of the own properties of an object. The own properties of an object are those that are defined directly @@ -237,7 +224,6 @@ declare var Object: { >create : (o: any, properties?: PropertyDescriptorMap) => any >o : any >properties : PropertyDescriptorMap ->PropertyDescriptorMap : PropertyDescriptorMap /** * Adds a property to an object, or modifies attributes of an existing property. @@ -250,7 +236,6 @@ declare var Object: { >o : any >p : string >attributes : PropertyDescriptor ->PropertyDescriptor : PropertyDescriptor /** * Adds one or more properties to an object, and/or modifies attributes of existing properties. @@ -261,7 +246,6 @@ declare var Object: { >defineProperties : (o: any, properties: PropertyDescriptorMap) => any >o : any >properties : PropertyDescriptorMap ->PropertyDescriptorMap : PropertyDescriptorMap /** * Prevents the modification of attributes of existing properties, and prevents the addition of new properties. @@ -324,8 +308,6 @@ declare var Object: { * Creates a new function. */ interface Function { ->Function : Function - /** * Calls the function, substituting the specified object for the this value of the function, and the specified array for the arguments of the function. * @param thisArg The object to be used as the this object. @@ -369,7 +351,6 @@ interface Function { caller: Function; >caller : Function ->Function : Function } declare var Function: { @@ -381,20 +362,15 @@ declare var Function: { */ new (...args: string[]): Function; >args : string[] ->Function : Function (...args: string[]): Function; >args : string[] ->Function : Function prototype: Function; >prototype : Function ->Function : Function } interface IArguments { ->IArguments : IArguments - [index: number]: any; >index : number @@ -403,12 +379,9 @@ interface IArguments { callee: Function; >callee : Function ->Function : Function } interface String { ->String : String - /** Returns a string representation of a string. */ toString(): string; >toString : () => string @@ -480,7 +453,6 @@ interface String { match(regexp: RegExp): string[]; >match : { (regexp: string): string[]; (regexp: RegExp): string[]; } >regexp : RegExp ->RegExp : RegExp /** * Replaces text in a string, using a regular expression or search string. @@ -512,7 +484,6 @@ interface String { replace(searchValue: RegExp, replaceValue: string): string; >replace : { (searchValue: string, replaceValue: string): string; (searchValue: string, replaceValue: (substring: string, ...args: any[]) => string): string; (searchValue: RegExp, replaceValue: string): string; (searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; } >searchValue : RegExp ->RegExp : RegExp >replaceValue : string /** @@ -523,7 +494,6 @@ interface String { replace(searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; >replace : { (searchValue: string, replaceValue: string): string; (searchValue: string, replaceValue: (substring: string, ...args: any[]) => string): string; (searchValue: RegExp, replaceValue: string): string; (searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; } >searchValue : RegExp ->RegExp : RegExp >replaceValue : (substring: string, ...args: any[]) => string >substring : string >args : any[] @@ -543,7 +513,6 @@ interface String { search(regexp: RegExp): number; >search : { (regexp: string): number; (regexp: RegExp): number; } >regexp : RegExp ->RegExp : RegExp /** * Returns a section of a string. @@ -574,7 +543,6 @@ interface String { split(separator: RegExp, limit?: number): string[]; >split : { (separator: string, limit?: number): string[]; (separator: RegExp, limit?: number): string[]; } >separator : RegExp ->RegExp : RegExp >limit : number /** @@ -635,14 +603,12 @@ declare var String: { new (value?: any): String; >value : any ->String : String (value?: any): string; >value : any prototype: String; >prototype : String ->String : String fromCharCode(...codes: number[]): string; >fromCharCode : (...codes: number[]) => string @@ -650,26 +616,21 @@ declare var String: { } interface Boolean { ->Boolean : Boolean } declare var Boolean: { >Boolean : { (value?: any): boolean; new (value?: any): Boolean; prototype: Boolean; } new (value?: any): Boolean; >value : any ->Boolean : Boolean (value?: any): boolean; >value : any prototype: Boolean; >prototype : Boolean ->Boolean : Boolean } interface Number { ->Number : Number - /** * Returns a string representation of an object. * @param radix Specifies a radix for converting numeric values to strings. This value is only used for numbers. @@ -709,14 +670,12 @@ declare var Number: { new (value?: any): Number; >value : any ->Number : Number (value?: any): number; >value : any prototype: Number; >prototype : Number ->Number : Number /** The largest number that can be represented in JavaScript. Equal to approximately 1.79E+308. */ MAX_VALUE: number; @@ -749,8 +708,6 @@ declare var Number: { } interface Math { ->Math : Math - /** The mathematical constant e. This is Euler's number, the base of natural logarithms. */ E: number; >E : number @@ -931,12 +888,9 @@ interface Math { /** An intrinsic object that provides basic mathematics functionality and constants. */ declare var Math: Math; >Math : Math ->Math : Math /** Enables basic storage and retrieval of dates and times. */ interface Date { ->Date : Date - /** Returns a string representation of a date. The format of the string depends on the locale. */ toString(): string; >toString : () => string @@ -1211,15 +1165,11 @@ declare var Date: { >Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; } new (): Date; ->Date : Date - new (value: number): Date; >value : number ->Date : Date new (value: string): Date; >value : string ->Date : Date new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; >year : number @@ -1229,12 +1179,10 @@ declare var Date: { >minutes : number >seconds : number >ms : number ->Date : Date (): string; prototype: Date; >prototype : Date ->Date : Date /** * Parses a string containing a date, and returns the number of milliseconds between that date and midnight, January 1, 1970. @@ -1269,8 +1217,6 @@ declare var Date: { } interface RegExpExecArray { ->RegExpExecArray : RegExpExecArray - [index: number]: string; >index : number @@ -1406,8 +1352,6 @@ interface RegExpExecArray { interface RegExp { ->RegExp : RegExp - /** * Executes a search on a string using a regular expression pattern, and returns an array containing the results of that search. * @param string The String object or string literal on which to perform the search. @@ -1415,7 +1359,6 @@ interface RegExp { exec(string: string): RegExpExecArray; >exec : (string: string) => RegExpExecArray >string : string ->RegExpExecArray : RegExpExecArray /** * Returns a Boolean value that indicates whether or not a pattern exists in a searched string. @@ -1447,7 +1390,6 @@ interface RegExp { // Non-standard extensions compile(): RegExp; >compile : () => RegExp ->RegExp : RegExp } declare var RegExp: { >RegExp : { (pattern: string, flags?: string): RegExp; new (pattern: string, flags?: string): RegExp; $1: string; $2: string; $3: string; $4: string; $5: string; $6: string; $7: string; $8: string; $9: string; lastMatch: string; } @@ -1455,12 +1397,10 @@ declare var RegExp: { new (pattern: string, flags?: string): RegExp; >pattern : string >flags : string ->RegExp : RegExp (pattern: string, flags?: string): RegExp; >pattern : string >flags : string ->RegExp : RegExp // Non-standard extensions $1: string; @@ -1495,8 +1435,6 @@ declare var RegExp: { } interface Error { ->Error : Error - name: string; >name : string @@ -1508,140 +1446,105 @@ declare var Error: { new (message?: string): Error; >message : string ->Error : Error (message?: string): Error; >message : string ->Error : Error prototype: Error; >prototype : Error ->Error : Error } interface EvalError extends Error { ->EvalError : EvalError ->Error : Error } declare var EvalError: { >EvalError : { (message?: string): EvalError; new (message?: string): EvalError; prototype: EvalError; } new (message?: string): EvalError; >message : string ->EvalError : EvalError (message?: string): EvalError; >message : string ->EvalError : EvalError prototype: EvalError; >prototype : EvalError ->EvalError : EvalError } interface RangeError extends Error { ->RangeError : RangeError ->Error : Error } declare var RangeError: { >RangeError : { (message?: string): RangeError; new (message?: string): RangeError; prototype: RangeError; } new (message?: string): RangeError; >message : string ->RangeError : RangeError (message?: string): RangeError; >message : string ->RangeError : RangeError prototype: RangeError; >prototype : RangeError ->RangeError : RangeError } interface ReferenceError extends Error { ->ReferenceError : ReferenceError ->Error : Error } declare var ReferenceError: { >ReferenceError : { (message?: string): ReferenceError; new (message?: string): ReferenceError; prototype: ReferenceError; } new (message?: string): ReferenceError; >message : string ->ReferenceError : ReferenceError (message?: string): ReferenceError; >message : string ->ReferenceError : ReferenceError prototype: ReferenceError; >prototype : ReferenceError ->ReferenceError : ReferenceError } interface SyntaxError extends Error { ->SyntaxError : SyntaxError ->Error : Error } declare var SyntaxError: { >SyntaxError : { (message?: string): SyntaxError; new (message?: string): SyntaxError; prototype: SyntaxError; } new (message?: string): SyntaxError; >message : string ->SyntaxError : SyntaxError (message?: string): SyntaxError; >message : string ->SyntaxError : SyntaxError prototype: SyntaxError; >prototype : SyntaxError ->SyntaxError : SyntaxError } interface TypeError extends Error { ->TypeError : TypeError ->Error : Error } declare var TypeError: { >TypeError : { (message?: string): TypeError; new (message?: string): TypeError; prototype: TypeError; } new (message?: string): TypeError; >message : string ->TypeError : TypeError (message?: string): TypeError; >message : string ->TypeError : TypeError prototype: TypeError; >prototype : TypeError ->TypeError : TypeError } interface URIError extends Error { ->URIError : URIError ->Error : Error } declare var URIError: { >URIError : { (message?: string): URIError; new (message?: string): URIError; prototype: URIError; } new (message?: string): URIError; >message : string ->URIError : URIError (message?: string): URIError; >message : string ->URIError : URIError prototype: URIError; >prototype : URIError ->URIError : URIError } interface JSON { ->JSON : JSON - /** * Converts a JavaScript Object Notation (JSON) string into an object. * @param text A valid JSON string. @@ -1716,7 +1619,6 @@ interface JSON { */ declare var JSON: JSON; >JSON : JSON ->JSON : JSON ///////////////////////////// @@ -1724,9 +1626,6 @@ declare var JSON: JSON; ///////////////////////////// interface Array { ->Array : T[] ->T : T - /** * Returns a string representation of an array. */ @@ -1742,11 +1641,7 @@ interface Array { */ concat(...items: U[]): T[]; >concat : { (...items: U[]): T[]; (...items: T[]): T[]; } ->U : U ->T : T >items : U[] ->U : U ->T : T /** * Combines two or more arrays. @@ -1755,8 +1650,6 @@ interface Array { concat(...items: T[]): T[]; >concat : { (...items: U[]): T[]; (...items: T[]): T[]; } >items : T[] ->T : T ->T : T /** * Adds all the elements of an array separated by the specified separator string. @@ -1771,7 +1664,6 @@ interface Array { */ pop(): T; >pop : () => T ->T : T /** * Appends new elements to an array, and returns the new length of the array. @@ -1780,21 +1672,18 @@ interface Array { push(...items: T[]): number; >push : (...items: T[]) => number >items : T[] ->T : T /** * Reverses the elements in an Array. */ reverse(): T[]; >reverse : () => T[] ->T : T /** * Removes the first element from an array and returns it. */ shift(): T; >shift : () => T ->T : T /** * Returns a section of an array. @@ -1805,7 +1694,6 @@ interface Array { >slice : (start?: number, end?: number) => T[] >start : number >end : number ->T : T /** * Sorts an array. @@ -1815,10 +1703,7 @@ interface Array { >sort : (compareFn?: (a: T, b: T) => number) => T[] >compareFn : (a: T, b: T) => number >a : T ->T : T >b : T ->T : T ->T : T /** * Removes elements from an array and, if necessary, inserts new elements in their place, returning the deleted elements. @@ -1827,7 +1712,6 @@ interface Array { splice(start: number): T[]; >splice : { (start: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; } >start : number ->T : T /** * Removes elements from an array and, if necessary, inserts new elements in their place, returning the deleted elements. @@ -1840,8 +1724,6 @@ interface Array { >start : number >deleteCount : number >items : T[] ->T : T ->T : T /** * Inserts new elements at the start of an array. @@ -1850,7 +1732,6 @@ interface Array { unshift(...items: T[]): number; >unshift : (...items: T[]) => number >items : T[] ->T : T /** * Returns the index of the first occurrence of a value in an array. @@ -1860,7 +1741,6 @@ interface Array { indexOf(searchElement: T, fromIndex?: number): number; >indexOf : (searchElement: T, fromIndex?: number) => number >searchElement : T ->T : T >fromIndex : number /** @@ -1871,7 +1751,6 @@ interface Array { lastIndexOf(searchElement: T, fromIndex?: number): number; >lastIndexOf : (searchElement: T, fromIndex?: number) => number >searchElement : T ->T : T >fromIndex : number /** @@ -1883,10 +1762,8 @@ interface Array { >every : (callbackfn: (value: T, index: number, array: T[]) => boolean, thisArg?: any) => boolean >callbackfn : (value: T, index: number, array: T[]) => boolean >value : T ->T : T >index : number >array : T[] ->T : T >thisArg : any /** @@ -1898,10 +1775,8 @@ interface Array { >some : (callbackfn: (value: T, index: number, array: T[]) => boolean, thisArg?: any) => boolean >callbackfn : (value: T, index: number, array: T[]) => boolean >value : T ->T : T >index : number >array : T[] ->T : T >thisArg : any /** @@ -1913,10 +1788,8 @@ interface Array { >forEach : (callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any) => void >callbackfn : (value: T, index: number, array: T[]) => void >value : T ->T : T >index : number >array : T[] ->T : T >thisArg : any /** @@ -1926,16 +1799,11 @@ interface Array { */ map(callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any): U[]; >map : (callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any) => U[] ->U : U >callbackfn : (value: T, index: number, array: T[]) => U >value : T ->T : T >index : number >array : T[] ->T : T ->U : U >thisArg : any ->U : U /** * Returns the elements of an array that meet the condition specified in a callback function. @@ -1946,12 +1814,9 @@ interface Array { >filter : (callbackfn: (value: T, index: number, array: T[]) => boolean, thisArg?: any) => T[] >callbackfn : (value: T, index: number, array: T[]) => boolean >value : T ->T : T >index : number >array : T[] ->T : T >thisArg : any ->T : T /** * Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function. @@ -1962,16 +1827,10 @@ interface Array { >reduce : { (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; } >callbackfn : (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T >previousValue : T ->T : T >currentValue : T ->T : T >currentIndex : number >array : T[] ->T : T ->T : T >initialValue : T ->T : T ->T : T /** * Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function. @@ -1980,19 +1839,12 @@ interface Array { */ reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; >reduce : { (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; } ->U : U >callbackfn : (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U >previousValue : U ->U : U >currentValue : T ->T : T >currentIndex : number >array : T[] ->T : T ->U : U >initialValue : U ->U : U ->U : U /** * Calls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function. @@ -2003,16 +1855,10 @@ interface Array { >reduceRight : { (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; } >callbackfn : (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T >previousValue : T ->T : T >currentValue : T ->T : T >currentIndex : number >array : T[] ->T : T ->T : T >initialValue : T ->T : T ->T : T /** * Calls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function. @@ -2021,19 +1867,12 @@ interface Array { */ reduceRight(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; >reduceRight : { (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; } ->U : U >callbackfn : (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U >previousValue : U ->U : U >currentValue : T ->T : T >currentIndex : number >array : T[] ->T : T ->U : U >initialValue : U ->U : U ->U : U /** * Gets or sets the length of the array. This is a number one higher than the highest element defined in an array. @@ -2043,7 +1882,6 @@ interface Array { [n: number]: T; >n : number ->T : T } declare var Array: { >Array : { (arrayLength?: number): any[]; (arrayLength: number): T[]; (...items: T[]): T[]; new (arrayLength?: number): any[]; new (arrayLength: number): T[]; new (...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; } @@ -2052,29 +1890,19 @@ declare var Array: { >arrayLength : number new (arrayLength: number): T[]; ->T : T >arrayLength : number ->T : T new (...items: T[]): T[]; ->T : T >items : T[] ->T : T ->T : T (arrayLength?: number): any[]; >arrayLength : number (arrayLength: number): T[]; ->T : T >arrayLength : number ->T : T (...items: T[]): T[]; ->T : T >items : T[] ->T : T ->T : T isArray(arg: any): boolean; >isArray : (arg: any) => boolean @@ -2082,5 +1910,4 @@ declare var Array: { prototype: Array; >prototype : any[] ->Array : T[] } diff --git a/tests/baselines/reference/2dArrays.types b/tests/baselines/reference/2dArrays.types index 00805899294..f9f0e726dde 100644 --- a/tests/baselines/reference/2dArrays.types +++ b/tests/baselines/reference/2dArrays.types @@ -15,11 +15,9 @@ class Board { ships: Ship[]; >ships : Ship[] ->Ship : Ship cells: Cell[]; >cells : Cell[] ->Cell : Cell private allShipsSunk() { >allShipsSunk : () => boolean diff --git a/tests/baselines/reference/ArrowFunction1.types b/tests/baselines/reference/ArrowFunction1.types index 3f405bd7f36..eb7da8cb6e4 100644 --- a/tests/baselines/reference/ArrowFunction1.types +++ b/tests/baselines/reference/ArrowFunction1.types @@ -3,6 +3,5 @@ var v = (a: ) => { >v : (a: any) => void >(a: ) => { } : (a: any) => void >a : any -> : No type information available! }; diff --git a/tests/baselines/reference/ClassAndModuleThatMergeWithModuleMemberThatUsesClassTypeParameter.types b/tests/baselines/reference/ClassAndModuleThatMergeWithModuleMemberThatUsesClassTypeParameter.types index 5afcc735a92..d37a2777c35 100644 --- a/tests/baselines/reference/ClassAndModuleThatMergeWithModuleMemberThatUsesClassTypeParameter.types +++ b/tests/baselines/reference/ClassAndModuleThatMergeWithModuleMemberThatUsesClassTypeParameter.types @@ -3,14 +3,12 @@ class clodule1{ >clodule1 : clodule1 ->T : T id: string; >id : string value: T; >value : T ->T : T } module clodule1 { @@ -19,19 +17,16 @@ module clodule1 { function f(x: T) { } >f : (x: any) => void >x : any ->T : No type information available! } class clodule2{ >clodule2 : clodule2 ->T : T id: string; >id : string value: T; >value : T ->T : T } module clodule2 { @@ -39,32 +34,26 @@ module clodule2 { var x: T; >x : any ->T : No type information available! class D{ >D : D ->U : U ->T : No type information available! id: string; >id : string value: U; >value : U ->U : U } } class clodule3{ >clodule3 : clodule3 ->T : T id: string; >id : string value: T; >value : T ->T : T } module clodule3 { @@ -79,14 +68,12 @@ module clodule3 { class clodule4{ >clodule4 : clodule4 ->T : T id: string; >id : string value: T; >value : T ->T : T } module clodule4 { @@ -97,7 +84,6 @@ module clodule4 { name: T; >name : any ->T : No type information available! } } diff --git a/tests/baselines/reference/ClassAndModuleThatMergeWithModulesExportedGenericFunctionAndGenericClassStaticFunctionOfTheSameName.types b/tests/baselines/reference/ClassAndModuleThatMergeWithModulesExportedGenericFunctionAndGenericClassStaticFunctionOfTheSameName.types index 99a044d62c1..733d537f05c 100644 --- a/tests/baselines/reference/ClassAndModuleThatMergeWithModulesExportedGenericFunctionAndGenericClassStaticFunctionOfTheSameName.types +++ b/tests/baselines/reference/ClassAndModuleThatMergeWithModulesExportedGenericFunctionAndGenericClassStaticFunctionOfTheSameName.types @@ -1,20 +1,16 @@ === tests/cases/conformance/internalModules/DeclarationMerging/ClassAndModuleThatMergeWithModulesExportedGenericFunctionAndGenericClassStaticFunctionOfTheSameName.ts === class clodule { >clodule : clodule ->T : T id: string; >id : string value: T; >value : T ->T : T static fn(id: U) { } >fn : (id: U) => void ->U : U >id : U ->U : U } module clodule { @@ -23,12 +19,8 @@ module clodule { // error: duplicate identifier expected export function fn(x: T, y: T): T { >fn : (x: T, y: T) => T ->T : T >x : T ->T : T >y : T ->T : T ->T : T return x; >x : T diff --git a/tests/baselines/reference/ClassAndModuleThatMergeWithModulesExportedGenericFunctionAndNonGenericClassStaticFunctionOfTheSameName.types b/tests/baselines/reference/ClassAndModuleThatMergeWithModulesExportedGenericFunctionAndNonGenericClassStaticFunctionOfTheSameName.types index 6af2e089dc3..355a17e393d 100644 --- a/tests/baselines/reference/ClassAndModuleThatMergeWithModulesExportedGenericFunctionAndNonGenericClassStaticFunctionOfTheSameName.types +++ b/tests/baselines/reference/ClassAndModuleThatMergeWithModulesExportedGenericFunctionAndNonGenericClassStaticFunctionOfTheSameName.types @@ -1,14 +1,12 @@ === tests/cases/conformance/internalModules/DeclarationMerging/ClassAndModuleThatMergeWithModulesExportedGenericFunctionAndNonGenericClassStaticFunctionOfTheSameName.ts === class clodule { >clodule : clodule ->T : T id: string; >id : string value: T; >value : T ->T : T static fn(id: string) { } >fn : (id: string) => void @@ -21,12 +19,8 @@ module clodule { // error: duplicate identifier expected export function fn(x: T, y: T): T { >fn : (x: T, y: T) => T ->T : T >x : T ->T : T >y : T ->T : T ->T : T return x; >x : T diff --git a/tests/baselines/reference/ClassAndModuleThatMergeWithModulesExportedStaticFunctionUsingClassPrivateStatics.types b/tests/baselines/reference/ClassAndModuleThatMergeWithModulesExportedStaticFunctionUsingClassPrivateStatics.types index af77997ec6a..d73f40cc6fc 100644 --- a/tests/baselines/reference/ClassAndModuleThatMergeWithModulesExportedStaticFunctionUsingClassPrivateStatics.types +++ b/tests/baselines/reference/ClassAndModuleThatMergeWithModulesExportedStaticFunctionUsingClassPrivateStatics.types @@ -1,14 +1,12 @@ === tests/cases/conformance/internalModules/DeclarationMerging/ClassAndModuleThatMergeWithModulesExportedStaticFunctionUsingClassPrivateStatics.ts === class clodule { >clodule : clodule ->T : T id: string; >id : string value: T; >value : T ->T : T private static sfn(id: string) { return 42; } >sfn : (id: string) => number @@ -22,11 +20,8 @@ module clodule { // error: duplicate identifier expected export function fn(x: T, y: T): number { >fn : (x: T, y: T) => number ->T : T >x : T ->T : T >y : T ->T : T return clodule.sfn('a'); >clodule.sfn('a') : number diff --git a/tests/baselines/reference/ClassAndModuleThatMergeWithStaticFunctionAndExportedFunctionThatShareAName.types b/tests/baselines/reference/ClassAndModuleThatMergeWithStaticFunctionAndExportedFunctionThatShareAName.types index f3bdde0e6a4..70ae933a288 100644 --- a/tests/baselines/reference/ClassAndModuleThatMergeWithStaticFunctionAndExportedFunctionThatShareAName.types +++ b/tests/baselines/reference/ClassAndModuleThatMergeWithStaticFunctionAndExportedFunctionThatShareAName.types @@ -8,7 +8,6 @@ class Point { static Origin(): Point { return { x: 0, y: 0 }; } // unexpected error here bug 840246 >Origin : () => Point ->Point : Point >{ x: 0, y: 0 } : { x: number; y: number; } >x : number >0 : 0 @@ -37,7 +36,6 @@ module A { static Origin(): Point { return { x: 0, y: 0 }; } // unexpected error here bug 840246 >Origin : () => Point ->Point : Point >{ x: 0, y: 0 } : { x: number; y: number; } >x : number >0 : 0 diff --git a/tests/baselines/reference/ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.types b/tests/baselines/reference/ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.types index b0685c4f858..2bcde7c656a 100644 --- a/tests/baselines/reference/ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.types +++ b/tests/baselines/reference/ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.types @@ -8,7 +8,6 @@ class Point { static Origin(): Point { return { x: 0, y: 0 }; } >Origin : () => Point ->Point : Point >{ x: 0, y: 0 } : { x: number; y: number; } >x : number >0 : 0 @@ -37,7 +36,6 @@ module A { static Origin(): Point { return { x: 0, y: 0 }; } >Origin : () => Point ->Point : Point >{ x: 0, y: 0 } : { x: number; y: number; } >x : number >0 : 0 diff --git a/tests/baselines/reference/ClassAndModuleThatMergeWithStaticVariableAndExportedVarThatShareAName.types b/tests/baselines/reference/ClassAndModuleThatMergeWithStaticVariableAndExportedVarThatShareAName.types index 1c2423316dc..f5d679df487 100644 --- a/tests/baselines/reference/ClassAndModuleThatMergeWithStaticVariableAndExportedVarThatShareAName.types +++ b/tests/baselines/reference/ClassAndModuleThatMergeWithStaticVariableAndExportedVarThatShareAName.types @@ -8,7 +8,6 @@ class Point { static Origin: Point = { x: 0, y: 0 }; >Origin : Point ->Point : Point >{ x: 0, y: 0 } : { x: number; y: number; } >x : number >0 : 0 @@ -37,7 +36,6 @@ module A { static Origin: Point = { x: 0, y: 0 }; >Origin : Point ->Point : Point >{ x: 0, y: 0 } : { x: number; y: number; } >x : number >0 : 0 diff --git a/tests/baselines/reference/ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.types b/tests/baselines/reference/ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.types index 7aa32879b7c..287012d0d6a 100644 --- a/tests/baselines/reference/ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.types +++ b/tests/baselines/reference/ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.types @@ -8,7 +8,6 @@ class Point { static Origin: Point = { x: 0, y: 0 }; >Origin : Point ->Point : Point >{ x: 0, y: 0 } : { x: number; y: number; } >x : number >0 : 0 @@ -37,7 +36,6 @@ module A { static Origin: Point = { x: 0, y: 0 }; >Origin : Point ->Point : Point >{ x: 0, y: 0 } : { x: number; y: number; } >x : number >0 : 0 diff --git a/tests/baselines/reference/ClassDeclaration25.types b/tests/baselines/reference/ClassDeclaration25.types index cdfc8f9ae1e..1c30d48d658 100644 --- a/tests/baselines/reference/ClassDeclaration25.types +++ b/tests/baselines/reference/ClassDeclaration25.types @@ -1,24 +1,16 @@ === tests/cases/compiler/ClassDeclaration25.ts === interface IList { ->IList : IList ->T : T - data(): T; >data : () => T ->T : T next(): string; >next : () => string } class List implements IList { >List : List ->U : U ->IList : IList ->U : U data(): U; >data : () => U ->U : U next(): string; >next : () => string diff --git a/tests/baselines/reference/DeclarationErrorsNoEmitOnError.types b/tests/baselines/reference/DeclarationErrorsNoEmitOnError.types index d2598dfe748..553563168a8 100644 --- a/tests/baselines/reference/DeclarationErrorsNoEmitOnError.types +++ b/tests/baselines/reference/DeclarationErrorsNoEmitOnError.types @@ -4,9 +4,6 @@ type T = { x : number } >x : number export interface I { ->I : I - f: T; >f : T ->T : T } diff --git a/tests/baselines/reference/ES5For-ofTypeCheck13.types b/tests/baselines/reference/ES5For-ofTypeCheck13.types index a1cdba4359b..407f925b4e3 100644 --- a/tests/baselines/reference/ES5For-ofTypeCheck13.types +++ b/tests/baselines/reference/ES5For-ofTypeCheck13.types @@ -1,7 +1,6 @@ === tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck13.ts === const strSet: Set = new Set() >strSet : Set ->Set : Set >new Set() : Set >Set : SetConstructor diff --git a/tests/baselines/reference/ES5For-ofTypeCheck14.types b/tests/baselines/reference/ES5For-ofTypeCheck14.types index 03a822316ac..7f8da376d1c 100644 --- a/tests/baselines/reference/ES5For-ofTypeCheck14.types +++ b/tests/baselines/reference/ES5For-ofTypeCheck14.types @@ -1,7 +1,6 @@ === tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck14.ts === var union: string | Set >union : string | Set ->Set : Set for (const e of union) { } >e : string diff --git a/tests/baselines/reference/ES5SymbolProperty1.types b/tests/baselines/reference/ES5SymbolProperty1.types index 7d76614f798..ebbd3fb8112 100644 --- a/tests/baselines/reference/ES5SymbolProperty1.types +++ b/tests/baselines/reference/ES5SymbolProperty1.types @@ -1,13 +1,10 @@ === tests/cases/conformance/Symbols/ES5SymbolProperty1.ts === interface SymbolConstructor { ->SymbolConstructor : SymbolConstructor - foo: string; >foo : string } var Symbol: SymbolConstructor; >Symbol : SymbolConstructor ->SymbolConstructor : SymbolConstructor var obj = { >obj : { [Symbol.foo]: number; } diff --git a/tests/baselines/reference/EnumAndModuleWithSameNameAndCommonRoot.types b/tests/baselines/reference/EnumAndModuleWithSameNameAndCommonRoot.types index d2328929938..c41d75706ae 100644 --- a/tests/baselines/reference/EnumAndModuleWithSameNameAndCommonRoot.types +++ b/tests/baselines/reference/EnumAndModuleWithSameNameAndCommonRoot.types @@ -21,7 +21,6 @@ module enumdule { var x: enumdule; >x : enumdule ->enumdule : enumdule var x = enumdule.Red; >x : enumdule diff --git a/tests/baselines/reference/ExportClassWhichExtendsInterfaceWithInaccessibleType.types b/tests/baselines/reference/ExportClassWhichExtendsInterfaceWithInaccessibleType.types index 04d0259f04e..9fff59f6c09 100644 --- a/tests/baselines/reference/ExportClassWhichExtendsInterfaceWithInaccessibleType.types +++ b/tests/baselines/reference/ExportClassWhichExtendsInterfaceWithInaccessibleType.types @@ -3,8 +3,6 @@ module A { >A : typeof A interface Point { ->Point : Point - x: number; >x : number @@ -14,12 +12,10 @@ module A { fromOrigin(p: Point): number; >fromOrigin : (p: Point) => number >p : Point ->Point : Point } export class Point2d implements Point { >Point2d : Point2d ->Point : Point constructor(public x: number, public y: number) { } >x : number @@ -28,7 +24,6 @@ module A { fromOrigin(p: Point) { >fromOrigin : (p: Point) => number >p : Point ->Point : Point return 1; >1 : 1 diff --git a/tests/baselines/reference/ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.types b/tests/baselines/reference/ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.types index e832f36e862..9a467c7f373 100644 --- a/tests/baselines/reference/ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.types +++ b/tests/baselines/reference/ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.types @@ -14,7 +14,6 @@ module A { export var Origin: Point = { x: 0, y: 0 }; >Origin : Point ->Point : Point >{ x: 0, y: 0 } : { x: number; y: number; } >x : number >0 : 0 @@ -31,7 +30,6 @@ module A { export var Origin3d: Point3d = { x: 0, y: 0, z: 0 }; >Origin3d : Point3d ->Point3d : Point3d >{ x: 0, y: 0, z: 0 } : { x: number; y: number; z: number; } >x : number >0 : 0 @@ -42,14 +40,10 @@ module A { export class Line{ >Line : Line ->TPoint : TPoint ->Point : Point constructor(public start: TPoint, public end: TPoint) { } >start : TPoint ->TPoint : TPoint >end : TPoint ->TPoint : TPoint } } diff --git a/tests/baselines/reference/ExportClassWithInaccessibleTypeInIndexerTypeAnnotations.types b/tests/baselines/reference/ExportClassWithInaccessibleTypeInIndexerTypeAnnotations.types index 451db7f92a8..795301b9c2d 100644 --- a/tests/baselines/reference/ExportClassWithInaccessibleTypeInIndexerTypeAnnotations.types +++ b/tests/baselines/reference/ExportClassWithInaccessibleTypeInIndexerTypeAnnotations.types @@ -17,11 +17,9 @@ module A { [idx: number]: Point; >idx : number ->Point : Point [idx: string]: Point; >idx : string ->Point : Point } } diff --git a/tests/baselines/reference/ExportClassWithInaccessibleTypeInTypeParameterConstraint.types b/tests/baselines/reference/ExportClassWithInaccessibleTypeInTypeParameterConstraint.types index 1a97175a833..ba52ecbd991 100644 --- a/tests/baselines/reference/ExportClassWithInaccessibleTypeInTypeParameterConstraint.types +++ b/tests/baselines/reference/ExportClassWithInaccessibleTypeInTypeParameterConstraint.types @@ -14,7 +14,6 @@ module A { export var Origin: Point = { x: 0, y: 0 }; >Origin : Point ->Point : Point >{ x: 0, y: 0 } : { x: number; y: number; } >x : number >0 : 0 @@ -31,7 +30,6 @@ module A { export var Origin3d: Point3d = { x: 0, y: 0, z: 0 }; >Origin3d : Point3d ->Point3d : Point3d >{ x: 0, y: 0, z: 0 } : { x: number; y: number; z: number; } >x : number >0 : 0 @@ -42,21 +40,14 @@ module A { export class Line{ >Line : Line ->TPoint : TPoint ->Point : Point constructor(public start: TPoint, public end: TPoint) { } >start : TPoint ->TPoint : TPoint >end : TPoint ->TPoint : TPoint static fromorigin2d(p: Point): Line{ >fromorigin2d : (p: Point) => Line >p : Point ->Point : Point ->Line : Line ->Point : Point return null; >null : null diff --git a/tests/baselines/reference/ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.types b/tests/baselines/reference/ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.types index 957c9ce0207..db5bcf23662 100644 --- a/tests/baselines/reference/ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.types +++ b/tests/baselines/reference/ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.types @@ -17,16 +17,12 @@ module A { constructor(public start: Point, public end: Point) { } >start : Point ->Point : Point >end : Point ->Point : Point } export function fromOrigin(p: Point): Line { >fromOrigin : (p: Point) => Line >p : Point ->Point : Point ->Line : Line return new Line({ x: 0, y: 0 }, p); >new Line({ x: 0, y: 0 }, p) : Line diff --git a/tests/baselines/reference/ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.types b/tests/baselines/reference/ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.types index 079b39650d0..ed909ebb4f4 100644 --- a/tests/baselines/reference/ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.types +++ b/tests/baselines/reference/ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.types @@ -17,16 +17,12 @@ module A { constructor(public start: Point, public end: Point) { } >start : Point ->Point : Point >end : Point ->Point : Point } export function fromOrigin(p: Point): Line { >fromOrigin : (p: Point) => Line >p : Point ->Point : Point ->Line : Line return new Line({ x: 0, y: 0 }, p); >new Line({ x: 0, y: 0 }, p) : Line diff --git a/tests/baselines/reference/ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.types b/tests/baselines/reference/ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.types index 6fcbb786a68..1514e086cfd 100644 --- a/tests/baselines/reference/ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.types +++ b/tests/baselines/reference/ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.types @@ -17,16 +17,12 @@ module A { constructor(public start: Point, public end: Point) { } >start : Point ->Point : Point >end : Point ->Point : Point } export function fromOrigin(p: Point): Line { >fromOrigin : (p: Point) => Line >p : Point ->Point : Point ->Line : Line return new Line({ x: 0, y: 0 }, p); >new Line({ x: 0, y: 0 }, p) : Line diff --git a/tests/baselines/reference/ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.types b/tests/baselines/reference/ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.types index c7c78424064..d0c6b733496 100644 --- a/tests/baselines/reference/ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.types +++ b/tests/baselines/reference/ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.types @@ -3,8 +3,6 @@ module A { >A : typeof A export interface Point { ->Point : Point - x: number; >x : number @@ -14,7 +12,6 @@ module A { export var Origin: Point = { x: 0, y: 0 }; >Origin : Point ->Point : Point >{ x: 0, y: 0 } : { x: number; y: number; } >x : number >0 : 0 @@ -22,16 +19,12 @@ module A { >0 : 0 export interface Point3d extends Point { ->Point3d : Point3d ->Point : Point - z: number; >z : number } export var Origin3d: Point3d = { x: 0, y: 0, z: 0 }; >Origin3d : Point3d ->Point3d : Point3d >{ x: 0, y: 0, z: 0 } : { x: number; y: number; z: number; } >x : number >0 : 0 @@ -41,23 +34,15 @@ module A { >0 : 0 export interface Line{ ->Line : Line ->TPoint : TPoint ->Point : Point - new (start: TPoint, end: TPoint); >start : TPoint ->TPoint : TPoint >end : TPoint ->TPoint : TPoint start: TPoint; >start : TPoint ->TPoint : TPoint end: TPoint; >end : TPoint ->TPoint : TPoint } } diff --git a/tests/baselines/reference/ExportInterfaceWithInaccessibleTypeInIndexerTypeAnnotations.types b/tests/baselines/reference/ExportInterfaceWithInaccessibleTypeInIndexerTypeAnnotations.types index 8be90b5946e..44f734e7a42 100644 --- a/tests/baselines/reference/ExportInterfaceWithInaccessibleTypeInIndexerTypeAnnotations.types +++ b/tests/baselines/reference/ExportInterfaceWithInaccessibleTypeInIndexerTypeAnnotations.types @@ -1,10 +1,7 @@ === tests/cases/conformance/internalModules/exportDeclarations/ExportInterfaceWithInaccessibleTypeInIndexerTypeAnnotations.ts === module A { ->A : any interface Point { ->Point : Point - x: number; >x : number @@ -13,15 +10,12 @@ module A { } export interface points { ->points : points [idx: number]: Point; >idx : number ->Point : Point [idx: string]: Point; >idx : string ->Point : Point } } diff --git a/tests/baselines/reference/ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.types b/tests/baselines/reference/ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.types index 8d07e4a44dd..f277ea87d26 100644 --- a/tests/baselines/reference/ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.types +++ b/tests/baselines/reference/ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.types @@ -3,8 +3,6 @@ module A { >A : typeof A interface Point { ->Point : Point - x: number; >x : number @@ -14,7 +12,6 @@ module A { export var Origin: Point = { x: 0, y: 0 }; >Origin : Point ->Point : Point >{ x: 0, y: 0 } : { x: number; y: number; } >x : number >0 : 0 @@ -22,16 +19,12 @@ module A { >0 : 0 export interface Point3d extends Point { ->Point3d : Point3d ->Point : Point - z: number; >z : number } export var Origin3d: Point3d = { x: 0, y: 0, z: 0 }; >Origin3d : Point3d ->Point3d : Point3d >{ x: 0, y: 0, z: 0 } : { x: number; y: number; z: number; } >x : number >0 : 0 @@ -41,23 +34,15 @@ module A { >0 : 0 export interface Line{ ->Line : Line ->TPoint : TPoint ->Point : Point - new (start: TPoint, end: TPoint); >start : TPoint ->TPoint : TPoint >end : TPoint ->TPoint : TPoint start: TPoint; >start : TPoint ->TPoint : TPoint end: TPoint; >end : TPoint ->TPoint : TPoint } } diff --git a/tests/baselines/reference/ExportModuleWithAccessibleTypesOnItsExportedMembers.types b/tests/baselines/reference/ExportModuleWithAccessibleTypesOnItsExportedMembers.types index a3ee7c55a4c..2079201aee2 100644 --- a/tests/baselines/reference/ExportModuleWithAccessibleTypesOnItsExportedMembers.types +++ b/tests/baselines/reference/ExportModuleWithAccessibleTypesOnItsExportedMembers.types @@ -15,7 +15,6 @@ module A { export var Origin: Point = new Point(0, 0); >Origin : Point ->Point : Point >new Point(0, 0) : Point >Point : typeof Point >0 : 0 @@ -26,16 +25,13 @@ module A { constructor(start: Point, end: Point) { >start : Point ->Point : Point >end : Point ->Point : Point } static fromOrigin(p: Point) { >fromOrigin : (p: Point) => Line >p : Point ->Point : Point return new Line({ x: 0, y: 0 }, p); >new Line({ x: 0, y: 0 }, p) : Line diff --git a/tests/baselines/reference/ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInMemberTypeAnnotations.types b/tests/baselines/reference/ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInMemberTypeAnnotations.types index 0ce1b82d67e..aa56ab818d0 100644 --- a/tests/baselines/reference/ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInMemberTypeAnnotations.types +++ b/tests/baselines/reference/ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInMemberTypeAnnotations.types @@ -12,7 +12,6 @@ module A { export var Origin: Point = { x: 0, y: 0 }; >Origin : Point ->Point : Point >{ x: 0, y: 0 } : { x: number; y: number; } >x : number >0 : 0 diff --git a/tests/baselines/reference/ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInNestedMemberTypeAnnotations.types b/tests/baselines/reference/ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInNestedMemberTypeAnnotations.types index 12a8cd974ad..e3286a644c5 100644 --- a/tests/baselines/reference/ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInNestedMemberTypeAnnotations.types +++ b/tests/baselines/reference/ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInNestedMemberTypeAnnotations.types @@ -16,16 +16,12 @@ module A { top: { left: Point, right: Point }, >top : { left: Point; right: Point; } >left : Point ->Point : Point >right : Point ->Point : Point bottom: { left: Point, right: Point } >bottom : { left: Point; right: Point; } >left : Point ->Point : Point >right : Point ->Point : Point } = null; >null : null diff --git a/tests/baselines/reference/ExportVariableOfGenericTypeWithInaccessibleTypeAsTypeArgument.types b/tests/baselines/reference/ExportVariableOfGenericTypeWithInaccessibleTypeAsTypeArgument.types index ba24bf93442..4ea41475ec6 100644 --- a/tests/baselines/reference/ExportVariableOfGenericTypeWithInaccessibleTypeAsTypeArgument.types +++ b/tests/baselines/reference/ExportVariableOfGenericTypeWithInaccessibleTypeAsTypeArgument.types @@ -11,12 +11,9 @@ module A { export var beez: Array; >beez : B[] ->Array : T[] ->B : B export var beez2 = new Array(); >beez2 : B[] >new Array() : B[] >Array : ArrayConstructor ->B : B } diff --git a/tests/baselines/reference/ExportVariableWithAccessibleTypeInTypeAnnotation.types b/tests/baselines/reference/ExportVariableWithAccessibleTypeInTypeAnnotation.types index 91504be2c70..f0f4506a61d 100644 --- a/tests/baselines/reference/ExportVariableWithAccessibleTypeInTypeAnnotation.types +++ b/tests/baselines/reference/ExportVariableWithAccessibleTypeInTypeAnnotation.types @@ -3,8 +3,6 @@ module A { >A : typeof A export interface Point { ->Point : Point - x: number; >x : number @@ -15,7 +13,6 @@ module A { // valid since Point is exported export var Origin: Point = { x: 0, y: 0 }; >Origin : Point ->Point : Point >{ x: 0, y: 0 } : { x: number; y: number; } >x : number >0 : 0 diff --git a/tests/baselines/reference/ExportVariableWithInaccessibleTypeInTypeAnnotation.types b/tests/baselines/reference/ExportVariableWithInaccessibleTypeInTypeAnnotation.types index 39bc5fa8af0..eed376a470b 100644 --- a/tests/baselines/reference/ExportVariableWithInaccessibleTypeInTypeAnnotation.types +++ b/tests/baselines/reference/ExportVariableWithInaccessibleTypeInTypeAnnotation.types @@ -3,8 +3,6 @@ module A { >A : typeof A export interface Point { ->Point : Point - x: number; >x : number @@ -15,7 +13,6 @@ module A { // valid since Point is exported export var Origin: Point = { x: 0, y: 0 }; >Origin : Point ->Point : Point >{ x: 0, y: 0 } : { x: number; y: number; } >x : number >0 : 0 @@ -23,9 +20,6 @@ module A { >0 : 0 interface Point3d extends Point { ->Point3d : Point3d ->Point : Point - z: number; >z : number } @@ -33,7 +27,6 @@ module A { // invalid Point3d is not exported export var Origin3d: Point3d = { x: 0, y: 0, z: 0 }; >Origin3d : Point3d ->Point3d : Point3d >{ x: 0, y: 0, z: 0 } : { x: number; y: number; z: number; } >x : number >0 : 0 diff --git a/tests/baselines/reference/FunctionDeclaration13_es6.types b/tests/baselines/reference/FunctionDeclaration13_es6.types index 69502a3e37c..b6f6aafd658 100644 --- a/tests/baselines/reference/FunctionDeclaration13_es6.types +++ b/tests/baselines/reference/FunctionDeclaration13_es6.types @@ -5,6 +5,5 @@ function * foo() { // Legal to use 'yield' in a type context. var v: yield; >v : any ->yield : No type information available! } diff --git a/tests/baselines/reference/FunctionPropertyAssignments6_es6.types b/tests/baselines/reference/FunctionPropertyAssignments6_es6.types index 050d97df735..832acbd8840 100644 --- a/tests/baselines/reference/FunctionPropertyAssignments6_es6.types +++ b/tests/baselines/reference/FunctionPropertyAssignments6_es6.types @@ -3,5 +3,4 @@ var v = { *() { } } >v : { (Missing)(): IterableIterator; } >{ *() { } } : { (Missing)(): IterableIterator; } > : () => IterableIterator ->T : T diff --git a/tests/baselines/reference/InterfaceDeclaration8.types b/tests/baselines/reference/InterfaceDeclaration8.types index d65b6376457..a9e08759565 100644 --- a/tests/baselines/reference/InterfaceDeclaration8.types +++ b/tests/baselines/reference/InterfaceDeclaration8.types @@ -1,4 +1,4 @@ === tests/cases/compiler/InterfaceDeclaration8.ts === interface string { ->string : string -} +No type information for this code.} +No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/InvalidNonInstantiatedModule.types b/tests/baselines/reference/InvalidNonInstantiatedModule.types index 28141c16ec8..218229e8235 100644 --- a/tests/baselines/reference/InvalidNonInstantiatedModule.types +++ b/tests/baselines/reference/InvalidNonInstantiatedModule.types @@ -1,9 +1,6 @@ === tests/cases/conformance/internalModules/moduleDeclarations/InvalidNonInstantiatedModule.ts === module M { ->M : any - export interface Point { x: number; y: number } ->Point : Point >x : number >y : number } diff --git a/tests/baselines/reference/MemberFunctionDeclaration7_es6.types b/tests/baselines/reference/MemberFunctionDeclaration7_es6.types index b5e65110c68..8269f672372 100644 --- a/tests/baselines/reference/MemberFunctionDeclaration7_es6.types +++ b/tests/baselines/reference/MemberFunctionDeclaration7_es6.types @@ -4,5 +4,4 @@ class C { *foo() { } >foo : () => IterableIterator ->T : T } diff --git a/tests/baselines/reference/ModuleAndEnumWithSameNameAndCommonRoot.types b/tests/baselines/reference/ModuleAndEnumWithSameNameAndCommonRoot.types index f728c41b6a1..8ffdc9271da 100644 --- a/tests/baselines/reference/ModuleAndEnumWithSameNameAndCommonRoot.types +++ b/tests/baselines/reference/ModuleAndEnumWithSameNameAndCommonRoot.types @@ -21,7 +21,6 @@ enum enumdule { var x: enumdule; >x : enumdule ->enumdule : enumdule var x = enumdule.Red; >x : enumdule diff --git a/tests/baselines/reference/ModuleWithExportedAndNonExportedClasses.types b/tests/baselines/reference/ModuleWithExportedAndNonExportedClasses.types index 233d03cca02..12a6af08955 100644 --- a/tests/baselines/reference/ModuleWithExportedAndNonExportedClasses.types +++ b/tests/baselines/reference/ModuleWithExportedAndNonExportedClasses.types @@ -14,16 +14,12 @@ module A { export class AG{ >AG : AG ->T : T ->U : U id: T; >id : T ->T : T name: U; >name : U ->U : U } class A2 { @@ -38,16 +34,12 @@ module A { class AG2{ >AG2 : AG2 ->T : T ->U : U id: T; >id : T ->T : T name: U; >name : U ->U : U } } diff --git a/tests/baselines/reference/ModuleWithExportedAndNonExportedEnums.types b/tests/baselines/reference/ModuleWithExportedAndNonExportedEnums.types index 54222846995..9a1bf4cd15f 100644 --- a/tests/baselines/reference/ModuleWithExportedAndNonExportedEnums.types +++ b/tests/baselines/reference/ModuleWithExportedAndNonExportedEnums.types @@ -17,7 +17,6 @@ module A { var a: A.Color = A.Color.Red; >a : A.Color >A : any ->Color : A.Color >A.Color.Red : A.Color.Red >A.Color : typeof A.Color >A : typeof A diff --git a/tests/baselines/reference/ModuleWithExportedAndNonExportedFunctions.types b/tests/baselines/reference/ModuleWithExportedAndNonExportedFunctions.types index 123ee413d76..818b4c2c7c9 100644 --- a/tests/baselines/reference/ModuleWithExportedAndNonExportedFunctions.types +++ b/tests/baselines/reference/ModuleWithExportedAndNonExportedFunctions.types @@ -12,11 +12,7 @@ module A { export function fng(s: T): U { >fng : (s: T) => U ->T : T ->U : U >s : T ->T : T ->U : U return null; >null : null @@ -32,11 +28,7 @@ module A { function fng2(s: T): U { >fng2 : (s: T) => U ->T : T ->U : U >s : T ->T : T ->U : U return null; >null : null @@ -56,11 +48,7 @@ var fn = A.fn; var fng: (s: T) => U; >fng : (s: T) => U ->T : T ->U : U >s : T ->T : T ->U : U var fng = A.fng; // bug 838015 >fng : (s: T) => U diff --git a/tests/baselines/reference/ModuleWithExportedAndNonExportedImportAlias.types b/tests/baselines/reference/ModuleWithExportedAndNonExportedImportAlias.types index 74e8d7f271f..f6edef1fb91 100644 --- a/tests/baselines/reference/ModuleWithExportedAndNonExportedImportAlias.types +++ b/tests/baselines/reference/ModuleWithExportedAndNonExportedImportAlias.types @@ -1,10 +1,6 @@ === tests/cases/conformance/internalModules/exportDeclarations/ModuleWithExportedAndNonExportedImportAlias.ts === module A { ->A : any - export interface Point { ->Point : Point - x: number; >x : number @@ -13,9 +9,6 @@ module A { } interface Point3d extends Point { ->Point3d : Point3d ->Point : Point - z: number; >z : number } @@ -30,10 +23,8 @@ module B { constructor(public start: A.Point, public end: A.Point) { } >start : A.Point >A : any ->Point : A.Point >end : A.Point >A : any ->Point : A.Point } } @@ -51,7 +42,6 @@ module Geometry { export var Origin: Points.Point = { x: 0, y: 0 }; >Origin : Points.Point >Points : any ->Point : Points.Point >{ x: 0, y: 0 } : { x: number; y: number; } >x : number >0 : 0 @@ -62,7 +52,6 @@ module Geometry { export var Unit: Lines.Line = new Lines.Line(Origin, { x: 1, y: 0 }); >Unit : Lines.Line >Lines : any ->Line : Lines.Line >new Lines.Line(Origin, { x: 1, y: 0 }) : Lines.Line >Lines.Line : typeof Lines.Line >Lines : typeof Lines @@ -85,7 +74,6 @@ var p: Geometry.Points.Point; >p : { x: number; y: number; } >Geometry : any >Points : any ->Point : A.Point var p = Geometry.Origin; >p : { x: number; y: number; } diff --git a/tests/baselines/reference/NonInitializedExportInInternalModule.types b/tests/baselines/reference/NonInitializedExportInInternalModule.types index 4c8581c3283..c6c84bbabb4 100644 --- a/tests/baselines/reference/NonInitializedExportInInternalModule.types +++ b/tests/baselines/reference/NonInitializedExportInInternalModule.types @@ -25,11 +25,9 @@ module Inner { export var e: A; >e : A ->A : A export let f: A; >f : A ->A : A namespace B { >B : typeof B @@ -95,13 +93,11 @@ module Inner { export var g1: D = new D; >g1 : D ->D : D >new D : D >D : typeof D export let h1: D = new D; >h1 : D ->D : D >new D : D >D : typeof D } diff --git a/tests/baselines/reference/ParameterList13.types b/tests/baselines/reference/ParameterList13.types index 22819406560..279e18bedcd 100644 --- a/tests/baselines/reference/ParameterList13.types +++ b/tests/baselines/reference/ParameterList13.types @@ -1,7 +1,5 @@ === tests/cases/compiler/ParameterList13.ts === interface I { ->I : I - new (public x); >x : any } diff --git a/tests/baselines/reference/ParameterList5.types b/tests/baselines/reference/ParameterList5.types index 57b80d0d807..073dcd58663 100644 --- a/tests/baselines/reference/ParameterList5.types +++ b/tests/baselines/reference/ParameterList5.types @@ -2,5 +2,4 @@ function A(): (public B) => C { >A : () => (B: any) => any >B : any ->C : No type information available! } diff --git a/tests/baselines/reference/Protected2.types b/tests/baselines/reference/Protected2.types index d4a18b3f2fc..df8d6f12cac 100644 --- a/tests/baselines/reference/Protected2.types +++ b/tests/baselines/reference/Protected2.types @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/Protected/Protected2.ts === protected module M { ->M : any -} +No type information for this code.} +No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/Protected8.types b/tests/baselines/reference/Protected8.types index f29be486eec..69a9b34f91e 100644 --- a/tests/baselines/reference/Protected8.types +++ b/tests/baselines/reference/Protected8.types @@ -1,7 +1,5 @@ === tests/cases/conformance/parser/ecmascript5/Protected/Protected8.ts === interface I { ->I : I - protected >protected : any diff --git a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.types b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.types index 25c23b83273..68a8a78f42e 100644 --- a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.types +++ b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.types @@ -23,7 +23,6 @@ module A { >fromCarthesian : (p: A.Point) => { x: number; y: number; } >p : A.Point >A : any ->Point : A.Point return { x: p.x, y: p.y }; >{ x: p.x, y: p.y } : { x: number; y: number; } @@ -48,7 +47,6 @@ var p: { x: number; y: number; }; var p: A.Point; >p : { x: number; y: number; } >A : any ->Point : A.Point module X.Y.Z { >X : typeof X @@ -92,6 +90,5 @@ var l: X.Y.Z.Line; >X : any >Y : any >Z : any ->Line : X.Y.Z.Line diff --git a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.types b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.types index 309ad35d54f..cb10f83fa14 100644 --- a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.types +++ b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.types @@ -1,10 +1,6 @@ === tests/cases/conformance/internalModules/DeclarationMerging/TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts === module A { ->A : any - export interface Point { ->Point : Point - x: number; >x : number @@ -13,19 +9,13 @@ module A { toCarth(): Point; >toCarth : () => Point ->Point : Point } } module A { ->A : any - interface Point { ->Point : Point - fromCarth(): Point; >fromCarth : () => Point ->Point : Point } } @@ -36,50 +26,31 @@ var p: { x: number; y: number; toCarth(): A.Point; }; >y : number >toCarth : () => A.Point >A : any ->Point : A.Point var p: A.Point; >p : { x: number; y: number; toCarth(): A.Point; } >A : any ->Point : A.Point module X.Y.Z { ->X : any ->Y : any ->Z : any - export interface Line { ->Line : Line - new (start: A.Point, end: A.Point); >start : A.Point >A : any ->Point : A.Point >end : A.Point >A : any ->Point : A.Point } } module X { ->X : any - export module Y.Z { ->Y : any ->Z : any - interface Line { ->Line : Line - start: A.Point; >start : A.Point >A : any ->Point : A.Point end: A.Point; >end : A.Point >A : any ->Point : A.Point } } } @@ -89,15 +60,12 @@ var l: { new (s: A.Point, e: A.Point); } >l : new (s: A.Point, e: A.Point) => any >s : A.Point >A : any ->Point : A.Point >e : A.Point >A : any ->Point : A.Point var l: X.Y.Z.Line; >l : new (s: A.Point, e: A.Point) => any >X : any >Y : any >Z : any ->Line : X.Y.Z.Line diff --git a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedLocalVarsOfTheSameName.types b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedLocalVarsOfTheSameName.types index 25a627030c4..e2eefc8cefc 100644 --- a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedLocalVarsOfTheSameName.types +++ b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedLocalVarsOfTheSameName.types @@ -3,8 +3,6 @@ module A { >A : typeof A export interface Point { ->Point : Point - x: number; >x : number @@ -17,10 +15,7 @@ module A { export function mirror(p: T) { >mirror : (p: T) => { x: number; y: number; } ->T : T ->Point : Point >p : T ->T : T return { x: p.y, y: p.x }; >{ x: p.y, y: p.x } : { x: number; y: number; } @@ -36,7 +31,6 @@ module A { } export var Origin: Point = { x: 0, y: 0 }; >Origin : Point ->Point : Point >{ x: 0, y: 0 } : { x: number; y: number; } >x : number >0 : 0 @@ -61,9 +55,7 @@ module A { constructor(public tl: Point, public br: Point) { } >tl : Point ->Point : Point >br : Point ->Point : Point } } } @@ -79,7 +71,6 @@ var o: { x: number; y: number }; var o: A.Point; >o : { x: number; y: number; } >A : any ->Point : A.Point var o = A.Origin; >o : { x: number; y: number; } @@ -101,16 +92,13 @@ var p: { tl: A.Point; br: A.Point }; >p : { tl: A.Point; br: A.Point; } >tl : A.Point >A : any ->Point : A.Point >br : A.Point >A : any ->Point : A.Point var p: A.Utils.Plane; >p : { tl: A.Point; br: A.Point; } >A : any >Utils : any ->Plane : A.Utils.Plane var p = new A.Utils.Plane(o, { x: 1, y: 1 }); >p : { tl: A.Point; br: A.Point; } diff --git a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.types b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.types index 5795beda4a9..c9320217d07 100644 --- a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.types +++ b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.types @@ -1,10 +1,6 @@ === tests/cases/conformance/internalModules/DeclarationMerging/TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts === module A { ->A : any - export interface Point { ->Point : Point - x: number; >x : number @@ -13,19 +9,13 @@ module A { toCarth(): Point; >toCarth : () => Point ->Point : Point } } module A { ->A : any - export interface Point { ->Point : Point - fromCarth(): Point; >fromCarth : () => Point ->Point : Point } } @@ -36,53 +26,33 @@ var p: { x: number; y: number; toCarth(): A.Point; fromCarth(): A.Point; }; >y : number >toCarth : () => A.Point >A : any ->Point : A.Point >fromCarth : () => A.Point >A : any ->Point : A.Point var p: A.Point; >p : { x: number; y: number; toCarth(): A.Point; fromCarth(): A.Point; } >A : any ->Point : A.Point module X.Y.Z { ->X : any ->Y : any ->Z : any - export interface Line { ->Line : Line - new (start: A.Point, end: A.Point); >start : A.Point >A : any ->Point : A.Point >end : A.Point >A : any ->Point : A.Point } } module X { ->X : any - export module Y.Z { ->Y : any ->Z : any - export interface Line { ->Line : Line - start: A.Point; >start : A.Point >A : any ->Point : A.Point end: A.Point; >end : A.Point >A : any ->Point : A.Point } } } @@ -92,21 +62,16 @@ var l: { start: A.Point; end: A.Point; new (s: A.Point, e: A.Point); } >l : { new (s: A.Point, e: A.Point): any; start: A.Point; end: A.Point; } >start : A.Point >A : any ->Point : A.Point >end : A.Point >A : any ->Point : A.Point >s : A.Point >A : any ->Point : A.Point >e : A.Point >A : any ->Point : A.Point var l: X.Y.Z.Line; >l : { new (s: A.Point, e: A.Point): any; start: A.Point; end: A.Point; } >X : any >Y : any >Z : any ->Line : X.Y.Z.Line diff --git a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedLocalVarsOfTheSameName.types b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedLocalVarsOfTheSameName.types index b9132a1d2cb..7da40308b3d 100644 --- a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedLocalVarsOfTheSameName.types +++ b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedLocalVarsOfTheSameName.types @@ -3,8 +3,6 @@ export module A { >A : typeof A export interface Point { ->Point : Point - x: number; >x : number @@ -17,10 +15,7 @@ export module A { export function mirror(p: T) { >mirror : (p: T) => { x: number; y: number; } ->T : T ->Point : Point >p : T ->T : T return { x: p.y, y: p.x }; >{ x: p.y, y: p.x } : { x: number; y: number; } @@ -37,7 +32,6 @@ export module A { export var Origin: Point = { x: 0, y: 0 }; >Origin : Point ->Point : Point >{ x: 0, y: 0 } : { x: number; y: number; } >x : number >0 : 0 @@ -52,7 +46,6 @@ export module A { // collision with 'Origin' var in other part of merged module export var Origin: Point = { x: 0, y: 0 }; >Origin : any ->Point : No type information available! >{ x: 0, y: 0 } : { x: number; y: number; } >x : number >0 : 0 @@ -67,9 +60,7 @@ export module A { constructor(public tl: Point, public br: Point) { } >tl : any ->Point : No type information available! >br : any ->Point : No type information available! } } } diff --git a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.types b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.types index a19e0839901..673f382c0ce 100644 --- a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.types +++ b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.types @@ -72,5 +72,4 @@ var l: X.Y.Z.Line; >X : any >Y : any >Z : any ->Line : X.Y.Z.Line diff --git a/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndDifferentCommonRoot.types b/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndDifferentCommonRoot.types index 2d654a580ea..1fc74eef3d6 100644 --- a/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndDifferentCommonRoot.types +++ b/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndDifferentCommonRoot.types @@ -6,8 +6,6 @@ module Root { >A : typeof A export interface Point { ->Point : Point - x: number; >x : number @@ -20,10 +18,7 @@ module Root { export function mirror(p: T) { >mirror : (p: T) => { x: number; y: number; } ->T : T ->Point : Point >p : T ->T : T return { x: p.y, y: p.x }; >{ x: p.y, y: p.x } : { x: number; y: number; } @@ -52,7 +47,6 @@ module otherRoot { >Origin : Root.A.Point >Root : any >A : any ->Point : Root.A.Point >{ x: 0, y: 0 } : { x: number; y: number; } >x : number >0 : 0 @@ -69,11 +63,9 @@ module otherRoot { >tl : Root.A.Point >Root : any >A : any ->Point : Root.A.Point >br : Root.A.Point >Root : any >A : any ->Point : Root.A.Point } } } diff --git a/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndSameCommonRoot.types b/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndSameCommonRoot.types index 11cb6e95d28..d67ab5a6887 100644 --- a/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndSameCommonRoot.types +++ b/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndSameCommonRoot.types @@ -3,8 +3,6 @@ module A { >A : typeof A export interface Point { ->Point : Point - x: number; >x : number @@ -17,10 +15,7 @@ module A { export function mirror(p: T) { >mirror : (p: T) => { x: number; y: number; } ->T : T ->Point : Point >p : T ->T : T return { x: p.y, y: p.x }; >{ x: p.y, y: p.x } : { x: number; y: number; } @@ -42,7 +37,6 @@ module A { export var Origin: Point = { x: 0, y: 0 }; >Origin : Point ->Point : Point >{ x: 0, y: 0 } : { x: number; y: number; } >x : number >0 : 0 @@ -57,9 +51,7 @@ module A { constructor(public tl: Point, public br: Point) { } >tl : Point ->Point : Point >br : Point ->Point : Point } } } @@ -75,7 +67,6 @@ var o: { x: number; y: number }; var o: A.Point; >o : { x: number; y: number; } >A : any ->Point : A.Point var o = A.Origin; >o : { x: number; y: number; } @@ -97,16 +88,13 @@ var p: { tl: A.Point; br: A.Point }; >p : { tl: A.Point; br: A.Point; } >tl : A.Point >A : any ->Point : A.Point >br : A.Point >A : any ->Point : A.Point var p: A.Utils.Plane; >p : { tl: A.Point; br: A.Point; } >A : any >Utils : any ->Plane : A.Utils.Plane var p = new A.Utils.Plane(o, { x: 1, y: 1 }); >p : { tl: A.Point; br: A.Point; } diff --git a/tests/baselines/reference/TypeGuardWithArrayUnion.types b/tests/baselines/reference/TypeGuardWithArrayUnion.types index 557e305ef74..283905b0369 100644 --- a/tests/baselines/reference/TypeGuardWithArrayUnion.types +++ b/tests/baselines/reference/TypeGuardWithArrayUnion.types @@ -9,8 +9,6 @@ class Message { function saySize(message: Message | Message[]) { >saySize : (message: Message | Message[]) => number >message : Message | Message[] ->Message : Message ->Message : Message if (message instanceof Array) { >message instanceof Array : boolean diff --git a/tests/baselines/reference/TypeGuardWithEnumUnion.types b/tests/baselines/reference/TypeGuardWithEnumUnion.types index 8ee4aaca363..9f51791f209 100644 --- a/tests/baselines/reference/TypeGuardWithEnumUnion.types +++ b/tests/baselines/reference/TypeGuardWithEnumUnion.types @@ -8,7 +8,6 @@ enum Color { R, G, B } function f1(x: Color | string) { >f1 : (x: string | Color) => void >x : string | Color ->Color : Color if (typeof x === "number") { >typeof x === "number" : boolean @@ -22,7 +21,6 @@ function f1(x: Color | string) { var y: Color; >y : Color ->Color : Color } else { var z = x; @@ -37,7 +35,6 @@ function f1(x: Color | string) { function f2(x: Color | string | string[]) { >f2 : (x: string | Color | string[]) => void >x : string | Color | string[] ->Color : Color if (typeof x === "object") { >typeof x === "object" : boolean @@ -64,7 +61,6 @@ function f2(x: Color | string | string[]) { var z: Color; >z : Color ->Color : Color } else { var w = x; @@ -94,7 +90,6 @@ function f2(x: Color | string | string[]) { var b: Color | string[]; >b : Color | string[] ->Color : Color } } diff --git a/tests/baselines/reference/abstractInterfaceIdentifierName.types b/tests/baselines/reference/abstractInterfaceIdentifierName.types index 2aba754cfa0..b71772a4ec7 100644 --- a/tests/baselines/reference/abstractInterfaceIdentifierName.types +++ b/tests/baselines/reference/abstractInterfaceIdentifierName.types @@ -1,7 +1,5 @@ === tests/cases/compiler/abstractInterfaceIdentifierName.ts === interface abstract { ->abstract : abstract - abstract(): void; >abstract : () => void } diff --git a/tests/baselines/reference/abstractProperty.types b/tests/baselines/reference/abstractProperty.types index aa0d1c6917a..d26af73b9aa 100644 --- a/tests/baselines/reference/abstractProperty.types +++ b/tests/baselines/reference/abstractProperty.types @@ -1,7 +1,5 @@ === tests/cases/compiler/abstractProperty.ts === interface A { ->A : A - prop: string; >prop : string @@ -13,7 +11,6 @@ interface A { } abstract class B implements A { >B : B ->A : A abstract prop: string; >prop : string diff --git a/tests/baselines/reference/abstractPropertyInConstructor.types b/tests/baselines/reference/abstractPropertyInConstructor.types index 6f8970a7702..23e1aac50f7 100644 --- a/tests/baselines/reference/abstractPropertyInConstructor.types +++ b/tests/baselines/reference/abstractPropertyInConstructor.types @@ -5,7 +5,6 @@ abstract class AbstractClass { constructor(str: string, other: AbstractClass) { >str : string >other : AbstractClass ->AbstractClass : AbstractClass this.method(parseInt(str)); >this.method(parseInt(str)) : void @@ -97,7 +96,6 @@ class User { constructor(a: AbstractClass) { >a : AbstractClass ->AbstractClass : AbstractClass a.prop; >a.prop : string diff --git a/tests/baselines/reference/abstractPropertyNegative.types b/tests/baselines/reference/abstractPropertyNegative.types index 371a84e8e91..0ae88cc7785 100644 --- a/tests/baselines/reference/abstractPropertyNegative.types +++ b/tests/baselines/reference/abstractPropertyNegative.types @@ -1,7 +1,5 @@ === tests/cases/compiler/abstractPropertyNegative.ts === interface A { ->A : A - prop: string; >prop : string @@ -10,7 +8,6 @@ interface A { } abstract class B implements A { >B : B ->A : A abstract prop: string; >prop : string diff --git a/tests/baselines/reference/acceptableAlias1.types b/tests/baselines/reference/acceptableAlias1.types index ccf766d8f2f..513aa92a31a 100644 --- a/tests/baselines/reference/acceptableAlias1.types +++ b/tests/baselines/reference/acceptableAlias1.types @@ -3,7 +3,6 @@ module M { >M : typeof M export module N { ->N : any } export import X = N; >X : any diff --git a/tests/baselines/reference/accessorsAreNotContextuallyTyped.types b/tests/baselines/reference/accessorsAreNotContextuallyTyped.types index c48ad593724..66c478dc87c 100644 --- a/tests/baselines/reference/accessorsAreNotContextuallyTyped.types +++ b/tests/baselines/reference/accessorsAreNotContextuallyTyped.types @@ -22,7 +22,6 @@ class C { var c: C; >c : C ->C : C var r = c.x(''); // string >r : string diff --git a/tests/baselines/reference/accessorsEmit.types b/tests/baselines/reference/accessorsEmit.types index 84759cefe87..de214e7c40a 100644 --- a/tests/baselines/reference/accessorsEmit.types +++ b/tests/baselines/reference/accessorsEmit.types @@ -7,7 +7,6 @@ class Test { get Property(): Result { >Property : Result ->Result : Result var x = 1; >x : number diff --git a/tests/baselines/reference/accessors_spec_section-4.5_inference.types b/tests/baselines/reference/accessors_spec_section-4.5_inference.types index a1d96120634..418fd2487a3 100644 --- a/tests/baselines/reference/accessors_spec_section-4.5_inference.types +++ b/tests/baselines/reference/accessors_spec_section-4.5_inference.types @@ -12,7 +12,6 @@ class LanguageSpec_section_4_5_inference { public set InferredGetterFromSetterAnnotation(a: A) { } >InferredGetterFromSetterAnnotation : A >a : A ->A : A public get InferredGetterFromSetterAnnotation() { return new B(); } >InferredGetterFromSetterAnnotation : A @@ -27,7 +26,6 @@ class LanguageSpec_section_4_5_inference { public set InferredGetterFromSetterAnnotation_GetterFirst(a: A) { } >InferredGetterFromSetterAnnotation_GetterFirst : A >a : A ->A : A public get InferredFromGetter() { return new B(); } @@ -54,13 +52,11 @@ class LanguageSpec_section_4_5_inference { public get InferredSetterFromGetterAnnotation() : A { return new B(); } >InferredSetterFromGetterAnnotation : A ->A : A >new B() : B >B : typeof B public get InferredSetterFromGetterAnnotation_GetterFirst() : A { return new B(); } >InferredSetterFromGetterAnnotation_GetterFirst : A ->A : A >new B() : B >B : typeof B diff --git a/tests/baselines/reference/addMoreCallSignaturesToBaseSignature.types b/tests/baselines/reference/addMoreCallSignaturesToBaseSignature.types index 212186ace77..9af21c42c07 100644 --- a/tests/baselines/reference/addMoreCallSignaturesToBaseSignature.types +++ b/tests/baselines/reference/addMoreCallSignaturesToBaseSignature.types @@ -1,21 +1,15 @@ === tests/cases/compiler/addMoreCallSignaturesToBaseSignature.ts === interface Foo { ->Foo : Foo - (): string; } interface Bar extends Foo { ->Bar : Bar ->Foo : Foo - (key: string): string; >key : string } var a: Bar; >a : Bar ->Bar : Bar var kitty = a(); >kitty : string diff --git a/tests/baselines/reference/addMoreCallSignaturesToBaseSignature2.types b/tests/baselines/reference/addMoreCallSignaturesToBaseSignature2.types index 2618f7b3cc7..55dc0f41343 100644 --- a/tests/baselines/reference/addMoreCallSignaturesToBaseSignature2.types +++ b/tests/baselines/reference/addMoreCallSignaturesToBaseSignature2.types @@ -1,22 +1,16 @@ === tests/cases/compiler/addMoreCallSignaturesToBaseSignature2.ts === interface Foo { ->Foo : Foo - (bar:number): string; >bar : number } interface Bar extends Foo { ->Bar : Bar ->Foo : Foo - (key: string): string; >key : string } var a: Bar; >a : Bar ->Bar : Bar var kitty = a(1); >kitty : string diff --git a/tests/baselines/reference/addMoreOverloadsToBaseSignature.types b/tests/baselines/reference/addMoreOverloadsToBaseSignature.types index 02a566217ad..cd676e084d1 100644 --- a/tests/baselines/reference/addMoreOverloadsToBaseSignature.types +++ b/tests/baselines/reference/addMoreOverloadsToBaseSignature.types @@ -1,15 +1,10 @@ === tests/cases/compiler/addMoreOverloadsToBaseSignature.ts === interface Foo { ->Foo : Foo - f(): string; >f : () => string } interface Bar extends Foo { ->Bar : Bar ->Foo : Foo - f(key: string): string; >f : (key: string) => string >key : string diff --git a/tests/baselines/reference/additionOperatorWithAnyAndEveryType.types b/tests/baselines/reference/additionOperatorWithAnyAndEveryType.types index 0994360ca10..1f8a9752dcc 100644 --- a/tests/baselines/reference/additionOperatorWithAnyAndEveryType.types +++ b/tests/baselines/reference/additionOperatorWithAnyAndEveryType.types @@ -35,7 +35,6 @@ var d: string; var e: Object; >e : Object ->Object : Object // any as left operand, result is type Any except plusing string var r1 = a + a; diff --git a/tests/baselines/reference/additionOperatorWithConstrainedTypeParameter.types b/tests/baselines/reference/additionOperatorWithConstrainedTypeParameter.types index d52c77a94fd..090f0ecda93 100644 --- a/tests/baselines/reference/additionOperatorWithConstrainedTypeParameter.types +++ b/tests/baselines/reference/additionOperatorWithConstrainedTypeParameter.types @@ -2,15 +2,9 @@ // test for #17069 function sum, K extends string>(n: number, v: T, k: K) { >sum : , K extends string>(n: number, v: T, k: K) => void ->T : T ->Record : Record ->K : K ->K : K >n : number >v : T ->T : T >k : K ->K : K n = n + v[k]; >n = n + v[k] : number @@ -30,15 +24,9 @@ function sum, K extends string>(n: number, v: T, k: } function realSum, K extends string>(n: number, vs: T[], k: K) { >realSum : , K extends string>(n: number, vs: T[], k: K) => void ->T : T ->Record : Record ->K : K ->K : K >n : number >vs : T[] ->T : T >k : K ->K : K for (const v of vs) { >v : T diff --git a/tests/baselines/reference/additionOperatorWithInvalidOperands.types b/tests/baselines/reference/additionOperatorWithInvalidOperands.types index 9701d8552dd..561b23a618b 100644 --- a/tests/baselines/reference/additionOperatorWithInvalidOperands.types +++ b/tests/baselines/reference/additionOperatorWithInvalidOperands.types @@ -29,11 +29,9 @@ var b: number; var c: Object; >c : Object ->Object : Object var d: Number; >d : Number ->Number : Number // boolean + every type except any and string var r1 = a + a; diff --git a/tests/baselines/reference/additionOperatorWithNullValueAndInvalidOperator.types b/tests/baselines/reference/additionOperatorWithNullValueAndInvalidOperator.types index 7e0d5d7ab31..266c4f2180f 100644 --- a/tests/baselines/reference/additionOperatorWithNullValueAndInvalidOperator.types +++ b/tests/baselines/reference/additionOperatorWithNullValueAndInvalidOperator.types @@ -10,14 +10,12 @@ var a: boolean; var b: Object; >b : Object ->Object : Object var c: void; >c : void var d: Number; >d : Number ->Number : Number // null + boolean/Object var r1 = null + a; diff --git a/tests/baselines/reference/additionOperatorWithNullValueAndValidOperator.types b/tests/baselines/reference/additionOperatorWithNullValueAndValidOperator.types index e6c8e919de2..f23e5359dda 100644 --- a/tests/baselines/reference/additionOperatorWithNullValueAndValidOperator.types +++ b/tests/baselines/reference/additionOperatorWithNullValueAndValidOperator.types @@ -15,7 +15,6 @@ var b: number; var c: E; >c : E ->E : E var d: string; >d : string diff --git a/tests/baselines/reference/additionOperatorWithNumberAndEnum.types b/tests/baselines/reference/additionOperatorWithNumberAndEnum.types index c952fca9064..aca445bf2cf 100644 --- a/tests/baselines/reference/additionOperatorWithNumberAndEnum.types +++ b/tests/baselines/reference/additionOperatorWithNumberAndEnum.types @@ -14,12 +14,9 @@ var a: number; var b: E; >b : E ->E : E var c: E | F; >c : E | F ->E : E ->F : F var r1 = a + a; >r1 : number diff --git a/tests/baselines/reference/additionOperatorWithStringAndEveryType.types b/tests/baselines/reference/additionOperatorWithStringAndEveryType.types index d938da263b7..28be50ab48a 100644 --- a/tests/baselines/reference/additionOperatorWithStringAndEveryType.types +++ b/tests/baselines/reference/additionOperatorWithStringAndEveryType.types @@ -19,14 +19,12 @@ var d: string; var e: Object; >e : Object ->Object : Object var f: void; >f : void var g: E; >g : E ->E : E var x: string; >x : string diff --git a/tests/baselines/reference/additionOperatorWithTypeParameter.types b/tests/baselines/reference/additionOperatorWithTypeParameter.types index 1ebc2d5b02f..3f103a30db1 100644 --- a/tests/baselines/reference/additionOperatorWithTypeParameter.types +++ b/tests/baselines/reference/additionOperatorWithTypeParameter.types @@ -7,12 +7,8 @@ enum E { a, b } function foo(t: T, u: U) { >foo : (t: T, u: U) => void ->T : T ->U : U >t : T ->T : T >u : U ->U : U var a: any; >a : any @@ -28,11 +24,9 @@ function foo(t: T, u: U) { var e: Object; >e : Object ->Object : Object var g: E; >g : E ->E : E var f: void; >f : void diff --git a/tests/baselines/reference/additionOperatorWithUndefinedValueAndInvalidOperands.types b/tests/baselines/reference/additionOperatorWithUndefinedValueAndInvalidOperands.types index 4a38511c10e..00f050b8464 100644 --- a/tests/baselines/reference/additionOperatorWithUndefinedValueAndInvalidOperands.types +++ b/tests/baselines/reference/additionOperatorWithUndefinedValueAndInvalidOperands.types @@ -10,14 +10,12 @@ var a: boolean; var b: Object; >b : Object ->Object : Object var c: void; >c : void var d: Number; >d : Number ->Number : Number // undefined + boolean/Object var r1 = undefined + a; diff --git a/tests/baselines/reference/additionOperatorWithUndefinedValueAndValidOperator.types b/tests/baselines/reference/additionOperatorWithUndefinedValueAndValidOperator.types index 2d0177c1675..5a49cdeba59 100644 --- a/tests/baselines/reference/additionOperatorWithUndefinedValueAndValidOperator.types +++ b/tests/baselines/reference/additionOperatorWithUndefinedValueAndValidOperator.types @@ -15,7 +15,6 @@ var b: number; var c: E; >c : E ->E : E var d: string; >d : string diff --git a/tests/baselines/reference/aliasBug.types b/tests/baselines/reference/aliasBug.types index 6a896a64c29..d01be940b05 100644 --- a/tests/baselines/reference/aliasBug.types +++ b/tests/baselines/reference/aliasBug.types @@ -35,17 +35,14 @@ function use() { var p1: provide.Provide; // error here, but should be okay >p1 : provide.Provide >provide : any ->Provide : provide.Provide var p2: foo.Provide; >p2 : provide.Provide >foo : any ->Provide : provide.Provide var p3:booz.bar; >p3 : any >booz : any ->bar : No type information available! var p22 = new provide.Provide(); >p22 : provide.Provide diff --git a/tests/baselines/reference/aliasErrors.types b/tests/baselines/reference/aliasErrors.types index c8e1b04fa76..e1fb1cada4f 100644 --- a/tests/baselines/reference/aliasErrors.types +++ b/tests/baselines/reference/aliasErrors.types @@ -75,17 +75,14 @@ function use() { var p1: provide.Provide; >p1 : provide.Provide >provide : any ->Provide : provide.Provide var p2: foo.Provide; >p2 : provide.Provide >foo : any ->Provide : provide.Provide var p3:booz.bar; >p3 : any >booz : any ->bar : No type information available! var p22 = new provide.Provide(); >p22 : provide.Provide diff --git a/tests/baselines/reference/aliasInaccessibleModule.types b/tests/baselines/reference/aliasInaccessibleModule.types index fc5e85f37cb..c38015e2865 100644 --- a/tests/baselines/reference/aliasInaccessibleModule.types +++ b/tests/baselines/reference/aliasInaccessibleModule.types @@ -3,7 +3,6 @@ module M { >M : typeof M module N { ->N : any } export import X = N; >X : any diff --git a/tests/baselines/reference/aliasOnMergedModuleInterface.types b/tests/baselines/reference/aliasOnMergedModuleInterface.types index 3124e10b2f4..86ad2d5f2cc 100644 --- a/tests/baselines/reference/aliasOnMergedModuleInterface.types +++ b/tests/baselines/reference/aliasOnMergedModuleInterface.types @@ -5,7 +5,6 @@ import foo = require("foo") var z: foo; >z : foo ->foo : foo z.bar("hello"); // This should be ok >z.bar("hello") : foo.A @@ -17,7 +16,6 @@ z.bar("hello"); // This should be ok var x: foo.A = foo.bar("hello"); // foo.A should be ok but foo.bar should be error >x : foo.A >foo : any ->A : foo.A >foo.bar("hello") : any >foo.bar : any >foo : any @@ -29,20 +27,14 @@ declare module "foo" >"foo" : typeof import("foo") { module B { ->B : any - export interface A { ->A : A } } interface B { ->B : B - bar(name: string): B.A; >bar : (name: string) => B.A >name : string >B : any ->A : B.A } export = B; >B : B diff --git a/tests/baselines/reference/aliasUsageInAccessorsOfClass.types b/tests/baselines/reference/aliasUsageInAccessorsOfClass.types index c66f4c5c193..e5dfdfd6366 100644 --- a/tests/baselines/reference/aliasUsageInAccessorsOfClass.types +++ b/tests/baselines/reference/aliasUsageInAccessorsOfClass.types @@ -6,8 +6,6 @@ import moduleA = require("./aliasUsage1_moduleA"); >moduleA : typeof moduleA interface IHasVisualizationModel { ->IHasVisualizationModel : IHasVisualizationModel - VisualizationModel: typeof Backbone.Model; >VisualizationModel : typeof Backbone.Model >Backbone.Model : typeof Backbone.Model @@ -19,7 +17,6 @@ class C2 { x: IHasVisualizationModel; >x : IHasVisualizationModel ->IHasVisualizationModel : IHasVisualizationModel get A() { >A : IHasVisualizationModel diff --git a/tests/baselines/reference/aliasUsageInArray.types b/tests/baselines/reference/aliasUsageInArray.types index ca8f0e61f2f..168bb0cf6f8 100644 --- a/tests/baselines/reference/aliasUsageInArray.types +++ b/tests/baselines/reference/aliasUsageInArray.types @@ -6,8 +6,6 @@ import moduleA = require("./aliasUsageInArray_moduleA"); >moduleA : typeof moduleA interface IHasVisualizationModel { ->IHasVisualizationModel : IHasVisualizationModel - VisualizationModel: typeof Backbone.Model; >VisualizationModel : typeof Backbone.Model >Backbone.Model : typeof Backbone.Model @@ -17,7 +15,6 @@ interface IHasVisualizationModel { var xs: IHasVisualizationModel[] = [moduleA]; >xs : IHasVisualizationModel[] ->IHasVisualizationModel : IHasVisualizationModel >[moduleA] : (typeof moduleA)[] >moduleA : typeof moduleA diff --git a/tests/baselines/reference/aliasUsageInFunctionExpression.types b/tests/baselines/reference/aliasUsageInFunctionExpression.types index 15716de5330..df5266e5db0 100644 --- a/tests/baselines/reference/aliasUsageInFunctionExpression.types +++ b/tests/baselines/reference/aliasUsageInFunctionExpression.types @@ -6,8 +6,6 @@ import moduleA = require("./aliasUsageInFunctionExpression_moduleA"); >moduleA : typeof moduleA interface IHasVisualizationModel { ->IHasVisualizationModel : IHasVisualizationModel - VisualizationModel: typeof Backbone.Model; >VisualizationModel : typeof Backbone.Model >Backbone.Model : typeof Backbone.Model @@ -18,7 +16,6 @@ var f = (x: IHasVisualizationModel) => x; >f : (x: IHasVisualizationModel) => IHasVisualizationModel >(x: IHasVisualizationModel) => x : (x: IHasVisualizationModel) => IHasVisualizationModel >x : IHasVisualizationModel ->IHasVisualizationModel : IHasVisualizationModel >x : IHasVisualizationModel f = (x) => moduleA; diff --git a/tests/baselines/reference/aliasUsageInGenericFunction.types b/tests/baselines/reference/aliasUsageInGenericFunction.types index 5fe7a3e49ef..7d7bb368d2d 100644 --- a/tests/baselines/reference/aliasUsageInGenericFunction.types +++ b/tests/baselines/reference/aliasUsageInGenericFunction.types @@ -6,8 +6,6 @@ import moduleA = require("./aliasUsageInGenericFunction_moduleA"); >moduleA : typeof moduleA interface IHasVisualizationModel { ->IHasVisualizationModel : IHasVisualizationModel - VisualizationModel: typeof Backbone.Model; >VisualizationModel : typeof Backbone.Model >Backbone.Model : typeof Backbone.Model @@ -16,11 +14,8 @@ interface IHasVisualizationModel { } function foo(x: T) { >foo : (x: T) => T ->T : T >a : IHasVisualizationModel ->IHasVisualizationModel : IHasVisualizationModel >x : T ->T : T return x; >x : T @@ -40,7 +35,6 @@ var r2 = foo({ a: null }); >{ a: null } : { a: IHasVisualizationModel; } >a : IHasVisualizationModel >null : IHasVisualizationModel ->IHasVisualizationModel : IHasVisualizationModel >null : null === tests/cases/compiler/aliasUsageInGenericFunction_backbone.ts === diff --git a/tests/baselines/reference/aliasUsageInIndexerOfClass.types b/tests/baselines/reference/aliasUsageInIndexerOfClass.types index d6040a90410..240fb6cbc1d 100644 --- a/tests/baselines/reference/aliasUsageInIndexerOfClass.types +++ b/tests/baselines/reference/aliasUsageInIndexerOfClass.types @@ -6,8 +6,6 @@ import moduleA = require("./aliasUsageInIndexerOfClass_moduleA"); >moduleA : typeof moduleA interface IHasVisualizationModel { ->IHasVisualizationModel : IHasVisualizationModel - VisualizationModel: typeof Backbone.Model; >VisualizationModel : typeof Backbone.Model >Backbone.Model : typeof Backbone.Model @@ -19,7 +17,6 @@ class N { [idx: string]: IHasVisualizationModel >idx : string ->IHasVisualizationModel : IHasVisualizationModel x = moduleA; >x : typeof moduleA @@ -34,7 +31,6 @@ class N2 { x: IHasVisualizationModel; >x : IHasVisualizationModel ->IHasVisualizationModel : IHasVisualizationModel } === tests/cases/compiler/aliasUsageInIndexerOfClass_backbone.ts === export class Model { diff --git a/tests/baselines/reference/aliasUsageInObjectLiteral.types b/tests/baselines/reference/aliasUsageInObjectLiteral.types index 5c8f08a6af2..d729e2b2536 100644 --- a/tests/baselines/reference/aliasUsageInObjectLiteral.types +++ b/tests/baselines/reference/aliasUsageInObjectLiteral.types @@ -6,8 +6,6 @@ import moduleA = require("./aliasUsageInObjectLiteral_moduleA"); >moduleA : typeof moduleA interface IHasVisualizationModel { ->IHasVisualizationModel : IHasVisualizationModel - VisualizationModel: typeof Backbone.Model; >VisualizationModel : typeof Backbone.Model >Backbone.Model : typeof Backbone.Model @@ -25,7 +23,6 @@ var a: { x: typeof moduleA } = { x: moduleA }; var b: { x: IHasVisualizationModel } = { x: moduleA }; >b : { x: IHasVisualizationModel; } >x : IHasVisualizationModel ->IHasVisualizationModel : IHasVisualizationModel >{ x: moduleA } : { x: typeof moduleA; } >x : typeof moduleA >moduleA : typeof moduleA @@ -34,7 +31,6 @@ var c: { y: { z: IHasVisualizationModel } } = { y: { z: moduleA } }; >c : { y: { z: IHasVisualizationModel; }; } >y : { z: IHasVisualizationModel; } >z : IHasVisualizationModel ->IHasVisualizationModel : IHasVisualizationModel >{ y: { z: moduleA } } : { y: { z: typeof moduleA; }; } >y : { z: typeof moduleA; } >{ z: moduleA } : { z: typeof moduleA; } diff --git a/tests/baselines/reference/aliasUsageInOrExpression.types b/tests/baselines/reference/aliasUsageInOrExpression.types index 0fcf3c3590d..64e5117dea6 100644 --- a/tests/baselines/reference/aliasUsageInOrExpression.types +++ b/tests/baselines/reference/aliasUsageInOrExpression.types @@ -6,8 +6,6 @@ import moduleA = require("./aliasUsageInOrExpression_moduleA"); >moduleA : typeof moduleA interface IHasVisualizationModel { ->IHasVisualizationModel : IHasVisualizationModel - VisualizationModel: typeof Backbone.Model; >VisualizationModel : typeof Backbone.Model >Backbone.Model : typeof Backbone.Model @@ -16,7 +14,6 @@ interface IHasVisualizationModel { } var i: IHasVisualizationModel; >i : IHasVisualizationModel ->IHasVisualizationModel : IHasVisualizationModel var d1 = i || moduleA; >d1 : IHasVisualizationModel @@ -26,14 +23,12 @@ var d1 = i || moduleA; var d2: IHasVisualizationModel = i || moduleA; >d2 : IHasVisualizationModel ->IHasVisualizationModel : IHasVisualizationModel >i || moduleA : IHasVisualizationModel >i : IHasVisualizationModel >moduleA : typeof moduleA var d2: IHasVisualizationModel = moduleA || i; >d2 : IHasVisualizationModel ->IHasVisualizationModel : IHasVisualizationModel >moduleA || i : IHasVisualizationModel >moduleA : typeof moduleA >i : IHasVisualizationModel @@ -41,11 +36,9 @@ var d2: IHasVisualizationModel = moduleA || i; var e: { x: IHasVisualizationModel } = <{ x: IHasVisualizationModel }>null || { x: moduleA }; >e : { x: IHasVisualizationModel; } >x : IHasVisualizationModel ->IHasVisualizationModel : IHasVisualizationModel ><{ x: IHasVisualizationModel }>null || { x: moduleA } : { x: IHasVisualizationModel; } ><{ x: IHasVisualizationModel }>null : { x: IHasVisualizationModel; } >x : IHasVisualizationModel ->IHasVisualizationModel : IHasVisualizationModel >null : null >{ x: moduleA } : { x: typeof moduleA; } >x : typeof moduleA @@ -54,11 +47,9 @@ var e: { x: IHasVisualizationModel } = <{ x: IHasVisualizationModel }>null || { var f: { x: IHasVisualizationModel } = <{ x: IHasVisualizationModel }>null ? { x: moduleA } : null; >f : { x: IHasVisualizationModel; } >x : IHasVisualizationModel ->IHasVisualizationModel : IHasVisualizationModel ><{ x: IHasVisualizationModel }>null ? { x: moduleA } : null : { x: typeof moduleA; } ><{ x: IHasVisualizationModel }>null : { x: IHasVisualizationModel; } >x : IHasVisualizationModel ->IHasVisualizationModel : IHasVisualizationModel >null : null >{ x: moduleA } : { x: typeof moduleA; } >x : typeof moduleA diff --git a/tests/baselines/reference/aliasUsageInTypeArgumentOfExtendsClause.types b/tests/baselines/reference/aliasUsageInTypeArgumentOfExtendsClause.types index 3d3d3b6d3f5..4b3a75435ae 100644 --- a/tests/baselines/reference/aliasUsageInTypeArgumentOfExtendsClause.types +++ b/tests/baselines/reference/aliasUsageInTypeArgumentOfExtendsClause.types @@ -6,8 +6,6 @@ import moduleA = require("./aliasUsageInTypeArgumentOfExtendsClause_moduleA"); >moduleA : typeof moduleA interface IHasVisualizationModel { ->IHasVisualizationModel : IHasVisualizationModel - VisualizationModel: typeof Backbone.Model; >VisualizationModel : typeof Backbone.Model >Backbone.Model : typeof Backbone.Model @@ -16,17 +14,13 @@ interface IHasVisualizationModel { } class C { >C : C ->T : T ->IHasVisualizationModel : IHasVisualizationModel x: T; >x : T ->T : T } class D extends C { >D : D >C : C ->IHasVisualizationModel : IHasVisualizationModel x = moduleA; >x : typeof moduleA diff --git a/tests/baselines/reference/aliasUsageInVarAssignment.types b/tests/baselines/reference/aliasUsageInVarAssignment.types index cf636a15240..679bd1be14c 100644 --- a/tests/baselines/reference/aliasUsageInVarAssignment.types +++ b/tests/baselines/reference/aliasUsageInVarAssignment.types @@ -6,8 +6,6 @@ import moduleA = require("./aliasUsageInVarAssignment_moduleA"); >moduleA : typeof moduleA interface IHasVisualizationModel { ->IHasVisualizationModel : IHasVisualizationModel - VisualizationModel: typeof Backbone.Model; >VisualizationModel : typeof Backbone.Model >Backbone.Model : typeof Backbone.Model @@ -16,7 +14,6 @@ interface IHasVisualizationModel { } var i: IHasVisualizationModel; >i : IHasVisualizationModel ->IHasVisualizationModel : IHasVisualizationModel var m: typeof moduleA = i; >m : typeof moduleA diff --git a/tests/baselines/reference/aliasWithInterfaceExportAssignmentUsedInVarInitializer.types b/tests/baselines/reference/aliasWithInterfaceExportAssignmentUsedInVarInitializer.types index 6a80fcc768c..78c7bf7203a 100644 --- a/tests/baselines/reference/aliasWithInterfaceExportAssignmentUsedInVarInitializer.types +++ b/tests/baselines/reference/aliasWithInterfaceExportAssignmentUsedInVarInitializer.types @@ -10,8 +10,6 @@ var d = b.q3; === tests/cases/compiler/aliasWithInterfaceExportAssignmentUsedInVarInitializer_0.ts === interface c { ->c : c - q3: number; >q3 : number } diff --git a/tests/baselines/reference/allowImportClausesToMergeWithTypes.types b/tests/baselines/reference/allowImportClausesToMergeWithTypes.types index 89d6a416ff3..f02568ccfa9 100644 --- a/tests/baselines/reference/allowImportClausesToMergeWithTypes.types +++ b/tests/baselines/reference/allowImportClausesToMergeWithTypes.types @@ -8,8 +8,6 @@ export default zzz; === tests/cases/compiler/a.ts === export default interface zzz { ->zzz : zzz - x: string; >x : string } @@ -19,7 +17,6 @@ import zzz from "./b"; const x: zzz = { x: "" }; >x : zzz ->zzz : zzz >{ x: "" } : { x: string; } >x : string >"" : "" @@ -37,7 +34,6 @@ import zzz from "./a"; const x: zzz = { x: "" }; >x : zzz ->zzz : zzz >{ x: "" } : { x: string; } >x : string >"" : "" @@ -53,6 +49,5 @@ originalZZZ; const y: originalZZZ = x; >y : any ->originalZZZ : No type information available! >x : zzz diff --git a/tests/baselines/reference/allowJscheckJsTypeParameterNoCrash.types b/tests/baselines/reference/allowJscheckJsTypeParameterNoCrash.types index e1b331019bf..0d8afb198d9 100644 --- a/tests/baselines/reference/allowJscheckJsTypeParameterNoCrash.types +++ b/tests/baselines/reference/allowJscheckJsTypeParameterNoCrash.types @@ -1,23 +1,15 @@ === tests/cases/compiler/func.ts === interface ComponentOptions { ->ComponentOptions : ComponentOptions ->V : V - watch: Record>; >watch : Record> ->Record : Record ->WatchHandler : WatchHandler } type WatchHandler = (val: T) => void; >WatchHandler : WatchHandler ->T : T >val : T ->T : T declare function extend(options: ComponentOptions<{}>): void; >extend : (options: ComponentOptions<{}>) => void >options : ComponentOptions<{}> ->ComponentOptions : ComponentOptions export var vextend = extend; >vextend : (options: ComponentOptions<{}>) => void diff --git a/tests/baselines/reference/allowSyntheticDefaultImportsCanPaintCrossModuleDeclaration.types b/tests/baselines/reference/allowSyntheticDefaultImportsCanPaintCrossModuleDeclaration.types index ffcf611af8c..a13afabff37 100644 --- a/tests/baselines/reference/allowSyntheticDefaultImportsCanPaintCrossModuleDeclaration.types +++ b/tests/baselines/reference/allowSyntheticDefaultImportsCanPaintCrossModuleDeclaration.types @@ -1,7 +1,5 @@ === tests/cases/compiler/color.ts === interface Color { ->Color : Color - c: string; >c : string } @@ -14,7 +12,6 @@ import Color from "./color"; export declare function styled(): Color; >styled : () => Color ->Color : Color === tests/cases/compiler/file2.ts === import { styled } from "./file1"; diff --git a/tests/baselines/reference/ambientClassDeclarationWithExtends.types b/tests/baselines/reference/ambientClassDeclarationWithExtends.types index 75040fb08d9..cd29836ce59 100644 --- a/tests/baselines/reference/ambientClassDeclarationWithExtends.types +++ b/tests/baselines/reference/ambientClassDeclarationWithExtends.types @@ -22,7 +22,6 @@ declare class D extends C { } var d: C = new D(); >d : C ->C : C >new D() : D >D : typeof D @@ -44,7 +43,6 @@ declare class F extends E { } var f: E = new F(); >f : E ->E : E >new F() : F >F : typeof F diff --git a/tests/baselines/reference/ambientClassMergesOverloadsWithInterface.types b/tests/baselines/reference/ambientClassMergesOverloadsWithInterface.types index 7a271b82865..4faedc6901e 100644 --- a/tests/baselines/reference/ambientClassMergesOverloadsWithInterface.types +++ b/tests/baselines/reference/ambientClassMergesOverloadsWithInterface.types @@ -10,8 +10,6 @@ declare class C { >n : number } interface C { ->C : C - foo(n: number): any; >foo : { (n: number): any; (n: number): any; } >n : number diff --git a/tests/baselines/reference/ambientConstLiterals.types b/tests/baselines/reference/ambientConstLiterals.types index 6f8a477b94d..e27776e1847 100644 --- a/tests/baselines/reference/ambientConstLiterals.types +++ b/tests/baselines/reference/ambientConstLiterals.types @@ -1,10 +1,7 @@ === tests/cases/compiler/ambientConstLiterals.ts === function f(x: T): T { >f : (x: T) => T ->T : T >x : T ->T : T ->T : T return x; >x : T diff --git a/tests/baselines/reference/ambientDeclarations.types b/tests/baselines/reference/ambientDeclarations.types index 2c1df08edb8..0b4e4a932c3 100644 --- a/tests/baselines/reference/ambientDeclarations.types +++ b/tests/baselines/reference/ambientDeclarations.types @@ -53,9 +53,7 @@ declare function fn9(...q: {}[]); declare function fn10(...q: T[]); >fn10 : (...q: T[]) => any ->T : T >q : T[] ->T : T // Ambient class declare class cls { @@ -64,7 +62,6 @@ declare class cls { constructor(); method(): cls; >method : () => cls ->cls : cls static static(p): number; >static : (p: any) => number diff --git a/tests/baselines/reference/ambientErrors.types b/tests/baselines/reference/ambientErrors.types index 84914d8d645..6286d4320ad 100644 --- a/tests/baselines/reference/ambientErrors.types +++ b/tests/baselines/reference/ambientErrors.types @@ -94,8 +94,6 @@ declare module M1 { // Ambient external module not in the global module module M2 { ->M2 : any - declare module 'nope' { } >'nope' : typeof import("nope") } diff --git a/tests/baselines/reference/ambientExternalModuleInsideNonAmbient.types b/tests/baselines/reference/ambientExternalModuleInsideNonAmbient.types index 61d2b36e3ec..121b3bdbaed 100644 --- a/tests/baselines/reference/ambientExternalModuleInsideNonAmbient.types +++ b/tests/baselines/reference/ambientExternalModuleInsideNonAmbient.types @@ -1,7 +1,5 @@ === tests/cases/conformance/ambient/ambientExternalModuleInsideNonAmbient.ts === module M { ->M : any - export declare module "M" { } >"M" : typeof import("M") } diff --git a/tests/baselines/reference/ambientExternalModuleWithRelativeExternalImportDeclaration.types b/tests/baselines/reference/ambientExternalModuleWithRelativeExternalImportDeclaration.types index 5995d11442c..0e1c92e6442 100644 --- a/tests/baselines/reference/ambientExternalModuleWithRelativeExternalImportDeclaration.types +++ b/tests/baselines/reference/ambientExternalModuleWithRelativeExternalImportDeclaration.types @@ -17,7 +17,6 @@ declare module "OuterModule" { public x: m2.c; >x : any >m2 : any ->c : any constructor(); } diff --git a/tests/baselines/reference/ambientInsideNonAmbient.types b/tests/baselines/reference/ambientInsideNonAmbient.types index ae593ab4225..21a60b4b547 100644 --- a/tests/baselines/reference/ambientInsideNonAmbient.types +++ b/tests/baselines/reference/ambientInsideNonAmbient.types @@ -15,7 +15,6 @@ module M { >E : E export declare module M { } ->M : any } module M2 { @@ -34,5 +33,4 @@ module M2 { >E : E declare module M { } ->M : any } diff --git a/tests/baselines/reference/ambientInsideNonAmbientExternalModule.types b/tests/baselines/reference/ambientInsideNonAmbientExternalModule.types index a8fb61f4280..d5484af061f 100644 --- a/tests/baselines/reference/ambientInsideNonAmbientExternalModule.types +++ b/tests/baselines/reference/ambientInsideNonAmbientExternalModule.types @@ -12,5 +12,3 @@ export declare enum E { } >E : E export declare module M { } ->M : any - diff --git a/tests/baselines/reference/ambiguousGenericAssertion1.types b/tests/baselines/reference/ambiguousGenericAssertion1.types index 380de5b7e1c..bb37c64a0ce 100644 --- a/tests/baselines/reference/ambiguousGenericAssertion1.types +++ b/tests/baselines/reference/ambiguousGenericAssertion1.types @@ -1,27 +1,19 @@ === tests/cases/compiler/ambiguousGenericAssertion1.ts === function f(x: T): T { return null; } >f : (x: T) => T ->T : T >x : T ->T : T ->T : T >null : null var r = (x: T) => x; >r : (x: T) => T >(x: T) => x : (x: T) => T ->T : T >x : T ->T : T >x : T var r2 = < (x: T) => T>f; // valid >r2 : (x: T) => T >< (x: T) => T>f : (x: T) => T ->T : T >x : T ->T : T ->T : T >f : (x: T) => T var r3 = <(x: T) => T>f; // ambiguous, appears to the parser as a << operation diff --git a/tests/baselines/reference/ambiguousOverloadResolution.types b/tests/baselines/reference/ambiguousOverloadResolution.types index dd42b44d7c3..8bdfeb7dd92 100644 --- a/tests/baselines/reference/ambiguousOverloadResolution.types +++ b/tests/baselines/reference/ambiguousOverloadResolution.types @@ -10,20 +10,15 @@ class B extends A { x: number; } declare function f(p: A, q: B): number; >f : { (p: A, q: B): number; (p: B, q: A): string; } >p : A ->A : A >q : B ->B : B declare function f(p: B, q: A): string; >f : { (p: A, q: B): number; (p: B, q: A): string; } >p : B ->B : B >q : A ->A : A var x: B; >x : B ->B : B var t: number = f(x, x); // Not an error >t : number diff --git a/tests/baselines/reference/amdDeclarationEmitNoExtraDeclare.types b/tests/baselines/reference/amdDeclarationEmitNoExtraDeclare.types index d6f799c3667..88bc9971cad 100644 --- a/tests/baselines/reference/amdDeclarationEmitNoExtraDeclare.types +++ b/tests/baselines/reference/amdDeclarationEmitNoExtraDeclare.types @@ -14,19 +14,13 @@ export class ActualClass extends Configurable(HiddenClass) {} === tests/cases/compiler/Configurable.ts === export type Constructor = { >Constructor : Constructor ->T : T new(...args: any[]): T; >args : any[] ->T : T } export function Configurable>(base: T): T { >Configurable : >(base: T) => T ->T : T ->Constructor : Constructor >base : T ->T : T ->T : T return class extends base { >class extends base { constructor(...args: any[]) { super(...args); } } : { new (...args: any[]): (Anonymous class); prototype: Configurable.(Anonymous class); } & T diff --git a/tests/baselines/reference/amdImportNotAsPrimaryExpression.types b/tests/baselines/reference/amdImportNotAsPrimaryExpression.types index 32e45936f33..80808ae12d6 100644 --- a/tests/baselines/reference/amdImportNotAsPrimaryExpression.types +++ b/tests/baselines/reference/amdImportNotAsPrimaryExpression.types @@ -11,12 +11,10 @@ import f = foo.M1; var i: f.I2; >i : f.I2 >f : any ->I2 : f.I2 var x: foo.C1 = <{m1: number}>{}; >x : foo.C1 >foo : any ->C1 : foo.C1 ><{m1: number}>{} : { m1: number; } >m1 : number >{} : {} @@ -34,13 +32,11 @@ var z: foo.M1.I2; >z : f.I2 >foo : any >M1 : any ->I2 : f.I2 var e: number = 0; >e : number >0 : foo.E1 >foo : any ->E1 : foo.E1 >0 : 0 === tests/cases/conformance/externalModules/foo_0.ts === @@ -57,8 +53,6 @@ export class C1 { } export interface I1 { ->I1 : I1 - name: string; >name : string @@ -67,11 +61,7 @@ export interface I1 { } export module M1 { ->M1 : any - export interface I2 { ->I2 : I2 - foo: string; >foo : string } diff --git a/tests/baselines/reference/anyAsGenericFunctionCall.types b/tests/baselines/reference/anyAsGenericFunctionCall.types index 4cf5dd8990d..5d63e3dc11d 100644 --- a/tests/baselines/reference/anyAsGenericFunctionCall.types +++ b/tests/baselines/reference/anyAsGenericFunctionCall.types @@ -24,7 +24,6 @@ var c = x(x); >c : any >x(x) : any >x : any ->C : C >x : any var d = x(x); diff --git a/tests/baselines/reference/anyAssignabilityInInheritance.types b/tests/baselines/reference/anyAssignabilityInInheritance.types index 925dd5d593e..f0c1684d63c 100644 --- a/tests/baselines/reference/anyAssignabilityInInheritance.types +++ b/tests/baselines/reference/anyAssignabilityInInheritance.types @@ -2,8 +2,6 @@ // any is not a subtype of any other types, errors expected on all the below derived classes unless otherwise noted interface I { ->I : I - [x: string]: any; >x : string @@ -59,8 +57,6 @@ var r3 = foo3(a); // any declare function foo5(x: Date): Date; >foo5 : { (x: Date): Date; (x: any): any; } >x : Date ->Date : Date ->Date : Date declare function foo5(x: any): any; >foo5 : { (x: Date): Date; (x: any): any; } @@ -75,8 +71,6 @@ var r3 = foo3(a); // any declare function foo6(x: RegExp): RegExp; >foo6 : { (x: RegExp): RegExp; (x: any): any; } >x : RegExp ->RegExp : RegExp ->RegExp : RegExp declare function foo6(x: any): any; >foo6 : { (x: RegExp): RegExp; (x: any): any; } @@ -119,14 +113,11 @@ var r3 = foo3(a); // any >a : any interface I8 { foo: string } ->I8 : I8 >foo : string declare function foo9(x: I8): I8; >foo9 : { (x: I8): I8; (x: any): any; } >x : I8 ->I8 : I8 ->I8 : I8 declare function foo9(x: any): any; >foo9 : { (x: I8): I8; (x: any): any; } @@ -145,8 +136,6 @@ class A { foo: number; } declare function foo10(x: A): A; >foo10 : { (x: A): A; (x: any): any; } >x : A ->A : A ->A : A declare function foo10(x: any): any; >foo10 : { (x: A): A; (x: any): any; } @@ -160,15 +149,11 @@ var r3 = foo3(a); // any class A2 { foo: T; } >A2 : A2 ->T : T >foo : T ->T : T declare function foo11(x: A2): A2; >foo11 : { (x: A2): A2; (x: any): any; } >x : A2 ->A2 : A2 ->A2 : A2 declare function foo11(x: any): any; >foo11 : { (x: A2): A2; (x: any): any; } @@ -199,14 +184,8 @@ var r3 = foo3(a); // any declare function foo13(x: (x: T) => T): (x: T) => T; >foo13 : { (x: (x: T) => T): (x: T) => T; (x: any): any; } >x : (x: T) => T ->T : T >x : T ->T : T ->T : T ->T : T >x : T ->T : T ->T : T declare function foo13(x: any): any; >foo13 : { (x: (x: T) => T): (x: T) => T; (x: any): any; } @@ -225,8 +204,6 @@ enum E { A } declare function foo14(x: E): E; >foo14 : { (x: E): E; (x: any): any; } >x : E ->E : E ->E : E declare function foo14(x: any): any; >foo14 : { (x: E): E; (x: any): any; } @@ -278,8 +255,6 @@ module CC { declare function foo16(x: CC): CC; >foo16 : { (x: CC): CC; (x: any): any; } >x : CC ->CC : CC ->CC : CC declare function foo16(x: any): any; >foo16 : { (x: CC): CC; (x: any): any; } @@ -294,8 +269,6 @@ var r3 = foo3(a); // any declare function foo17(x: Object): Object; >foo17 : { (x: Object): Object; (x: any): any; } >x : Object ->Object : Object ->Object : Object declare function foo17(x: any): any; >foo17 : { (x: Object): Object; (x: any): any; } diff --git a/tests/baselines/reference/anyAssignableToEveryType.types b/tests/baselines/reference/anyAssignableToEveryType.types index c2a9b324d96..c4ac27e5b67 100644 --- a/tests/baselines/reference/anyAssignableToEveryType.types +++ b/tests/baselines/reference/anyAssignableToEveryType.types @@ -10,17 +10,13 @@ class C { } var ac: C; >ac : C ->C : C interface I { ->I : I - foo: string; >foo : string } var ai: I; >ai : I ->I : I enum E { A } >E : E @@ -28,7 +24,6 @@ enum E { A } var ae: E; >ae : E ->E : E var b: number = a; >b : number @@ -44,7 +39,6 @@ var d: boolean = a; var e: Date = a; >e : Date ->Date : Date >a : any var f: any = a; @@ -57,7 +51,6 @@ var g: void = a; var h: Object = a; >h : Object ->Object : Object >a : any var i: {} = a; @@ -70,7 +63,6 @@ var j: () => {} = a; var k: Function = a; >k : Function ->Function : Function >a : any var l: (x: number) => string = a; @@ -104,34 +96,22 @@ var n: { foo: string } = a; var o: (x: T) => T = a; >o : (x: T) => T ->T : T >x : T ->T : T ->T : T >a : any var p: Number = a; >p : Number ->Number : Number >a : any var q: String = a; >q : String ->String : String >a : any function foo(x: T, y: U, z: V) { >foo : (x: T, y: U, z: V) => void ->T : T ->U : U ->V : V ->Date : Date >x : T ->T : T >y : U ->U : U >z : V ->V : V x = a; >x = a : any diff --git a/tests/baselines/reference/anyAssignableToEveryType2.types b/tests/baselines/reference/anyAssignableToEveryType2.types index 564b634cde3..c4c21f503b6 100644 --- a/tests/baselines/reference/anyAssignableToEveryType2.types +++ b/tests/baselines/reference/anyAssignableToEveryType2.types @@ -2,8 +2,6 @@ // any is not a subtype of any other types, but is assignable, all the below should work interface I { ->I : I - [x: string]: any; >x : string @@ -13,8 +11,6 @@ interface I { interface I2 { ->I2 : I2 - [x: string]: number; >x : string @@ -24,8 +20,6 @@ interface I2 { interface I3 { ->I3 : I3 - [x: string]: string; >x : string @@ -35,8 +29,6 @@ interface I3 { interface I4 { ->I4 : I4 - [x: string]: boolean; >x : string @@ -46,11 +38,8 @@ interface I4 { interface I5 { ->I5 : I5 - [x: string]: Date; >x : string ->Date : Date foo: any; >foo : any @@ -58,11 +47,8 @@ interface I5 { interface I6 { ->I6 : I6 - [x: string]: RegExp; >x : string ->RegExp : RegExp foo: any; >foo : any @@ -70,8 +56,6 @@ interface I6 { interface I7 { ->I7 : I7 - [x: string]: { bar: number }; >x : string >bar : number @@ -82,8 +66,6 @@ interface I7 { interface I8 { ->I8 : I8 - [x: string]: number[]; >x : string @@ -93,11 +75,8 @@ interface I8 { interface I9 { ->I9 : I9 - [x: string]: I8; >x : string ->I8 : I8 foo: any; >foo : any @@ -108,11 +87,8 @@ class A { foo: number; } >foo : number interface I10 { ->I10 : I10 - [x: string]: A; >x : string ->A : A foo: any; >foo : any @@ -120,16 +96,11 @@ interface I10 { class A2 { foo: T; } >A2 : A2 ->T : T >foo : T ->T : T interface I11 { ->I11 : I11 - [x: string]: A2; >x : string ->A2 : A2 foo: any; >foo : any @@ -137,8 +108,6 @@ interface I11 { interface I12 { ->I12 : I12 - [x: string]: (x) => number; >x : string >x : any @@ -149,14 +118,9 @@ interface I12 { interface I13 { ->I13 : I13 - [x: string]: (x: T) => T; >x : string ->T : T >x : T ->T : T ->T : T foo: any; >foo : any @@ -168,11 +132,8 @@ enum E { A } >A : E interface I14 { ->I14 : I14 - [x: string]: E; >x : string ->E : E foo: any; >foo : any @@ -190,8 +151,6 @@ module f { >1 : 1 } interface I15 { ->I15 : I15 - [x: string]: typeof f; >x : string >f : typeof f @@ -213,8 +172,6 @@ module c { >1 : 1 } interface I16 { ->I16 : I16 - [x: string]: typeof c; >x : string >c : typeof c @@ -225,12 +182,8 @@ interface I16 { interface I17 { ->I17 : I17 ->T : T - [x: string]: T; >x : string ->T : T foo: any; >foo : any @@ -238,14 +191,8 @@ interface I17 { interface I18 { ->I18 : I18 ->T : T ->U : U ->T : T - [x: string]: U; >x : string ->U : U foo: any; >foo : any @@ -253,11 +200,8 @@ interface I18 { interface I19 { ->I19 : I19 - [x: string]: Object; >x : string ->Object : Object foo: any; >foo : any @@ -265,8 +209,6 @@ interface I19 { interface I20 { ->I20 : I20 - [x: string]: {}; >x : string diff --git a/tests/baselines/reference/anyIsAssignableToObject.types b/tests/baselines/reference/anyIsAssignableToObject.types index 5df5d3b345f..537da916cf7 100644 --- a/tests/baselines/reference/anyIsAssignableToObject.types +++ b/tests/baselines/reference/anyIsAssignableToObject.types @@ -1,15 +1,10 @@ === tests/cases/compiler/anyIsAssignableToObject.ts === interface P { ->P : P - p: {}; >p : {} } interface Q extends P { // Check assignability here. Any is assignable to {} ->Q : Q ->P : P - p: any; >p : any } diff --git a/tests/baselines/reference/anyIsAssignableToVoid.types b/tests/baselines/reference/anyIsAssignableToVoid.types index 0e1af90971f..93f10a0c28f 100644 --- a/tests/baselines/reference/anyIsAssignableToVoid.types +++ b/tests/baselines/reference/anyIsAssignableToVoid.types @@ -1,15 +1,10 @@ === tests/cases/compiler/anyIsAssignableToVoid.ts === interface P { ->P : P - p: void; >p : void } interface Q extends P { // check assignability here. any is assignable to void. ->Q : Q ->P : P - p: any; >p : any } diff --git a/tests/baselines/reference/anyMappedTypesError.types b/tests/baselines/reference/anyMappedTypesError.types index 290ea6883b1..876d2919441 100644 --- a/tests/baselines/reference/anyMappedTypesError.types +++ b/tests/baselines/reference/anyMappedTypesError.types @@ -1,5 +1,4 @@ === tests/cases/compiler/anyMappedTypesError.ts === type Foo = {[P in "bar"]}; >Foo : Foo ->P : P diff --git a/tests/baselines/reference/apparentTypeSubtyping.types b/tests/baselines/reference/apparentTypeSubtyping.types index 7eba6ac5941..9fa8469027c 100644 --- a/tests/baselines/reference/apparentTypeSubtyping.types +++ b/tests/baselines/reference/apparentTypeSubtyping.types @@ -4,23 +4,18 @@ class Base { >Base : Base ->U : U ->String : String x: U; >x : U ->U : U } // is String (S) a subtype of U extends String (T)? Would only be true if we used the apparent type of U (T) class Derived extends Base { // error >Derived : Derived ->U : U >Base : Base x: String; >x : String ->String : String } class Base2 { @@ -28,21 +23,16 @@ class Base2 { x: String; >x : String ->String : String static s: String; >s : String ->String : String } // is U extends String (S) a subtype of String (T)? Apparent type of U is String so it succeeds class Derived2 extends Base2 { // error because of the prototype's not matching, not because of the instance side >Derived2 : Derived2 ->U : U ->String : String >Base2 : Base2 x: U; >x : U ->U : U } diff --git a/tests/baselines/reference/apparentTypeSupertype.types b/tests/baselines/reference/apparentTypeSupertype.types index 626a4c0632d..1c1d28d6594 100644 --- a/tests/baselines/reference/apparentTypeSupertype.types +++ b/tests/baselines/reference/apparentTypeSupertype.types @@ -12,11 +12,8 @@ class Base { // is String (S) a subtype of U extends String (T)? Would only be true if we used the apparent type of U (T) class Derived extends Base { // error >Derived : Derived ->U : U ->String : String >Base : Base x: U; >x : U ->U : U } diff --git a/tests/baselines/reference/argumentsAsPropertyName.types b/tests/baselines/reference/argumentsAsPropertyName.types index d0aaaa1cc72..86bbd847470 100644 --- a/tests/baselines/reference/argumentsAsPropertyName.types +++ b/tests/baselines/reference/argumentsAsPropertyName.types @@ -5,7 +5,6 @@ type MyType = { arguments: Array >arguments : string[] ->Array : T[] } declare function use(s: any); @@ -15,7 +14,6 @@ declare function use(s: any); function myFunction(myType: MyType) { >myFunction : (myType: MyType) => void >myType : MyType ->MyType : MyType for (let i = 0; i < 10; i++) { >i : number diff --git a/tests/baselines/reference/arithmeticOnInvalidTypes.types b/tests/baselines/reference/arithmeticOnInvalidTypes.types index 330a9c67931..1bbf8bc58f6 100644 --- a/tests/baselines/reference/arithmeticOnInvalidTypes.types +++ b/tests/baselines/reference/arithmeticOnInvalidTypes.types @@ -1,11 +1,9 @@ === tests/cases/compiler/arithmeticOnInvalidTypes.ts === var x: Number; >x : Number ->Number : Number var y: Number; >y : Number ->Number : Number var z = x + y; >z : any diff --git a/tests/baselines/reference/arithmeticOnInvalidTypes2.types b/tests/baselines/reference/arithmeticOnInvalidTypes2.types index 9608ad171cf..ed1e67d6eae 100644 --- a/tests/baselines/reference/arithmeticOnInvalidTypes2.types +++ b/tests/baselines/reference/arithmeticOnInvalidTypes2.types @@ -3,11 +3,8 @@ var obj = function f(a: T, b: T) { >obj : (a: T, b: T) => T >function f(a: T, b: T) { var z1 = a + b; var z2 = a - b; var z3 = a * b; var z4 = a / b; return a;} : (a: T, b: T) => T >f : (a: T, b: T) => T ->T : T >a : T ->T : T >b : T ->T : T var z1 = a + b; >z1 : any diff --git a/tests/baselines/reference/arithmeticOperatorWithEnum.types b/tests/baselines/reference/arithmeticOperatorWithEnum.types index 0f2fbe48feb..1658349126d 100644 --- a/tests/baselines/reference/arithmeticOperatorWithEnum.types +++ b/tests/baselines/reference/arithmeticOperatorWithEnum.types @@ -19,7 +19,6 @@ var b: number; var c: E; >c : E ->E : E // operator * var ra1 = c * a; diff --git a/tests/baselines/reference/arithmeticOperatorWithEnumUnion.types b/tests/baselines/reference/arithmeticOperatorWithEnumUnion.types index 379bd6f34b3..871480b2928 100644 --- a/tests/baselines/reference/arithmeticOperatorWithEnumUnion.types +++ b/tests/baselines/reference/arithmeticOperatorWithEnumUnion.types @@ -28,8 +28,6 @@ var b: number; var c: E | F; >c : E | F ->E : E ->F : F // operator * var ra1 = c * a; diff --git a/tests/baselines/reference/arithmeticOperatorWithInvalidOperands.types b/tests/baselines/reference/arithmeticOperatorWithInvalidOperands.types index 7bd878e19ff..e26b18af908 100644 --- a/tests/baselines/reference/arithmeticOperatorWithInvalidOperands.types +++ b/tests/baselines/reference/arithmeticOperatorWithInvalidOperands.types @@ -25,7 +25,6 @@ var e: { a: number }; var f: Number; >f : Number ->Number : Number // All of the below should be an error unless otherwise noted // operator * diff --git a/tests/baselines/reference/arithmeticOperatorWithNullValueAndInvalidOperands.types b/tests/baselines/reference/arithmeticOperatorWithNullValueAndInvalidOperands.types index 2a0fb6d9239..6f357f3b658 100644 --- a/tests/baselines/reference/arithmeticOperatorWithNullValueAndInvalidOperands.types +++ b/tests/baselines/reference/arithmeticOperatorWithNullValueAndInvalidOperands.types @@ -10,7 +10,6 @@ var b: string; var c: Object; >c : Object ->Object : Object // operator * var r1a1 = null * a; diff --git a/tests/baselines/reference/arithmeticOperatorWithTypeParameter.types b/tests/baselines/reference/arithmeticOperatorWithTypeParameter.types index 0fc72d5dc0f..bc77ea54c81 100644 --- a/tests/baselines/reference/arithmeticOperatorWithTypeParameter.types +++ b/tests/baselines/reference/arithmeticOperatorWithTypeParameter.types @@ -2,9 +2,7 @@ // type parameter type is not valid for arithmetic operand function foo(t: T) { >foo : (t: T) => void ->T : T >t : T ->T : T var a: any; >a : any diff --git a/tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndInvalidOperands.types b/tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndInvalidOperands.types index 3211250146b..25c42c8a33c 100644 --- a/tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndInvalidOperands.types +++ b/tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndInvalidOperands.types @@ -10,7 +10,6 @@ var b: string; var c: Object; >c : Object ->Object : Object // operator * var r1a1 = undefined * a; diff --git a/tests/baselines/reference/arityAndOrderCompatibility01.types b/tests/baselines/reference/arityAndOrderCompatibility01.types index 6fdbab7a587..d7a0923d964 100644 --- a/tests/baselines/reference/arityAndOrderCompatibility01.types +++ b/tests/baselines/reference/arityAndOrderCompatibility01.types @@ -1,8 +1,5 @@ === tests/cases/conformance/types/tuple/arityAndOrderCompatibility01.ts === interface StrNum extends Array { ->StrNum : StrNum ->Array : T[] - 0: string; >0 : string @@ -18,7 +15,6 @@ var x: [string, number]; var y: StrNum >y : StrNum ->StrNum : StrNum var z: { >z : { 0: string; 1: number; length: 2; } diff --git a/tests/baselines/reference/arrayAssignmentTest1.types b/tests/baselines/reference/arrayAssignmentTest1.types index c46d6971eec..76810a6eb33 100644 --- a/tests/baselines/reference/arrayAssignmentTest1.types +++ b/tests/baselines/reference/arrayAssignmentTest1.types @@ -1,14 +1,11 @@ === tests/cases/compiler/arrayAssignmentTest1.ts === interface I1 { ->I1 : I1 - IM1():void[]; >IM1 : () => void[] } class C1 implements I1 { >C1 : C1 ->I1 : I1 IM1():void[] {return null;} >IM1 : () => void[] @@ -16,7 +13,6 @@ class C1 implements I1 { C1M1():C1[] {return null;} >C1M1 : () => C1[] ->C1 : C1 >null : null } class C2 extends C1 { @@ -25,7 +21,6 @@ class C2 extends C1 { C2M1():C2[] { return null;} >C2M1 : () => C2[] ->C2 : C2 >null : null } @@ -55,24 +50,20 @@ var a1 : any = null; var c1 : C1 = new C1(); >c1 : C1 ->C1 : C1 >new C1() : C1 >C1 : typeof C1 var i1 : I1 = c1; >i1 : I1 ->I1 : I1 >c1 : C1 var c2 : C2 = new C2(); >c2 : C2 ->C2 : C2 >new C2() : C2 >C2 : typeof C2 var c3 : C3 = new C3(); >c3 : C3 ->C3 : C3 >new C3() : C3 >C3 : typeof C3 @@ -94,57 +85,46 @@ var arr_any: any[] = []; var arr_i1: I1[] = []; >arr_i1 : I1[] ->I1 : I1 >[] : undefined[] var arr_c1: C1[] = []; >arr_c1 : C1[] ->C1 : C1 >[] : undefined[] var arr_c2: C2[] = []; >arr_c2 : C2[] ->C2 : C2 >[] : undefined[] var arr_i1_2: I1[] = []; >arr_i1_2 : I1[] ->I1 : I1 >[] : undefined[] var arr_c1_2: C1[] = []; >arr_c1_2 : C1[] ->C1 : C1 >[] : undefined[] var arr_c2_2: C2[] = []; >arr_c2_2 : C2[] ->C2 : C2 >[] : undefined[] var arr_c3: C3[] = []; >arr_c3 : C3[] ->C3 : C3 >[] : undefined[] var i1_error: I1 = []; // should be an error - is >i1_error : I1 ->I1 : I1 >[] : undefined[] var c1_error: C1 = []; // should be an error - is >c1_error : C1 ->C1 : C1 >[] : undefined[] var c2_error: C2 = []; // should be an error - is >c2_error : C2 ->C2 : C2 >[] : undefined[] var c3_error: C3 = []; // should be an error - is >c3_error : C3 ->C3 : C3 >[] : undefined[] diff --git a/tests/baselines/reference/arrayAssignmentTest2.types b/tests/baselines/reference/arrayAssignmentTest2.types index 86d35b06d07..100336ae58b 100644 --- a/tests/baselines/reference/arrayAssignmentTest2.types +++ b/tests/baselines/reference/arrayAssignmentTest2.types @@ -1,14 +1,11 @@ === tests/cases/compiler/arrayAssignmentTest2.ts === interface I1 { ->I1 : I1 - IM1():void[]; >IM1 : () => void[] } class C1 implements I1 { >C1 : C1 ->I1 : I1 IM1():void[] {return null;} >IM1 : () => void[] @@ -16,7 +13,6 @@ class C1 implements I1 { C1M1():C1[] {return null;} >C1M1 : () => C1[] ->C1 : C1 >null : null } class C2 extends C1 { @@ -25,7 +21,6 @@ class C2 extends C1 { C2M1():C2[] { return null;} >C2M1 : () => C2[] ->C2 : C2 >null : null } @@ -55,24 +50,20 @@ var a1 : any = null; var c1 : C1 = new C1(); >c1 : C1 ->C1 : C1 >new C1() : C1 >C1 : typeof C1 var i1 : I1 = c1; >i1 : I1 ->I1 : I1 >c1 : C1 var c2 : C2 = new C2(); >c2 : C2 ->C2 : C2 >new C2() : C2 >C2 : typeof C2 var c3 : C3 = new C3(); >c3 : C3 ->C3 : C3 >new C3() : C3 >C3 : typeof C3 @@ -94,37 +85,30 @@ var arr_any: any[] = []; var arr_i1: I1[] = []; >arr_i1 : I1[] ->I1 : I1 >[] : undefined[] var arr_c1: C1[] = []; >arr_c1 : C1[] ->C1 : C1 >[] : undefined[] var arr_c2: C2[] = []; >arr_c2 : C2[] ->C2 : C2 >[] : undefined[] var arr_i1_2: I1[] = []; >arr_i1_2 : I1[] ->I1 : I1 >[] : undefined[] var arr_c1_2: C1[] = []; >arr_c1_2 : C1[] ->C1 : C1 >[] : undefined[] var arr_c2_2: C2[] = []; >arr_c2_2 : C2[] ->C2 : C2 >[] : undefined[] var arr_c3: C3[] = []; >arr_c3 : C3[] ->C3 : C3 >[] : undefined[] // "clean up error" occurs at this point diff --git a/tests/baselines/reference/arrayAssignmentTest3.types b/tests/baselines/reference/arrayAssignmentTest3.types index 1a3e1e3805e..ec1b5de51b2 100644 --- a/tests/baselines/reference/arrayAssignmentTest3.types +++ b/tests/baselines/reference/arrayAssignmentTest3.types @@ -12,7 +12,6 @@ class a { >x : string >y : number >z : B[] ->B : B } diff --git a/tests/baselines/reference/arrayAssignmentTest4.types b/tests/baselines/reference/arrayAssignmentTest4.types index c80591a8b1f..3c3579d2e38 100644 --- a/tests/baselines/reference/arrayAssignmentTest4.types +++ b/tests/baselines/reference/arrayAssignmentTest4.types @@ -21,7 +21,6 @@ Type 1 of any[]: */ var c3 : C3 = new C3(); >c3 : C3 ->C3 : C3 >new C3() : C3 >C3 : typeof C3 diff --git a/tests/baselines/reference/arrayAssignmentTest5.types b/tests/baselines/reference/arrayAssignmentTest5.types index 7e8d2e0d39b..64a866d2346 100644 --- a/tests/baselines/reference/arrayAssignmentTest5.types +++ b/tests/baselines/reference/arrayAssignmentTest5.types @@ -3,70 +3,48 @@ module Test { >Test : typeof Test interface IState { ->IState : IState } interface IToken { ->IToken : IToken - startIndex: number; >startIndex : number } interface IStateToken extends IToken { ->IStateToken : IStateToken ->IToken : IToken - state: IState; >state : IState ->IState : IState } interface ILineTokens { ->ILineTokens : ILineTokens - tokens: IToken[]; >tokens : IToken[] ->IToken : IToken endState: IState; >endState : IState ->IState : IState } interface IAction { ->IAction : IAction } interface IMode { ->IMode : IMode - onEnter(line:string, state:IState, offset:number):IAction; >onEnter : (line: string, state: IState, offset: number) => IAction >line : string >state : IState ->IState : IState >offset : number ->IAction : IAction tokenize(line:string, state:IState, includeStates:boolean):ILineTokens; >tokenize : (line: string, state: IState, includeStates: boolean) => ILineTokens >line : string >state : IState ->IState : IState >includeStates : boolean ->ILineTokens : ILineTokens } export class Bug implements IMode { >Bug : Bug ->IMode : IMode public onEnter(line:string, state:IState, offset:number):IAction { >onEnter : (line: string, state: IState, offset: number) => IAction >line : string >state : IState ->IState : IState >offset : number ->IAction : IAction var lineTokens:ILineTokens= this.tokenize(line, state, true); >lineTokens : ILineTokens ->ILineTokens : ILineTokens >this.tokenize(line, state, true) : ILineTokens >this.tokenize : (line: string, state: IState, includeStates: boolean) => ILineTokens >this : this @@ -77,7 +55,6 @@ module Test { var tokens:IStateToken[]= lineTokens.tokens; >tokens : IStateToken[] ->IStateToken : IStateToken >lineTokens.tokens : IToken[] >lineTokens : ILineTokens >tokens : IToken[] @@ -103,9 +80,7 @@ module Test { >tokenize : (line: string, state: IState, includeStates: boolean) => ILineTokens >line : string >state : IState ->IState : IState >includeStates : boolean ->ILineTokens : ILineTokens return null; >null : null diff --git a/tests/baselines/reference/arrayAssignmentTest6.types b/tests/baselines/reference/arrayAssignmentTest6.types index 411144d4426..f2bc1ab04fc 100644 --- a/tests/baselines/reference/arrayAssignmentTest6.types +++ b/tests/baselines/reference/arrayAssignmentTest6.types @@ -3,47 +3,33 @@ module Test { >Test : typeof Test interface IState { ->IState : IState } interface IToken { ->IToken : IToken - startIndex: number; >startIndex : number } interface ILineTokens { ->ILineTokens : ILineTokens - tokens: IToken[]; >tokens : IToken[] ->IToken : IToken endState: IState; >endState : IState ->IState : IState } interface IMode { ->IMode : IMode - tokenize(line:string, state:IState, includeStates:boolean):ILineTokens; >tokenize : (line: string, state: IState, includeStates: boolean) => ILineTokens >line : string >state : IState ->IState : IState >includeStates : boolean ->ILineTokens : ILineTokens } export class Bug implements IMode { >Bug : Bug ->IMode : IMode public tokenize(line:string, tokens:IToken[], includeStates:boolean):ILineTokens { >tokenize : (line: string, tokens: IToken[], includeStates: boolean) => ILineTokens >line : string >tokens : IToken[] ->IToken : IToken >includeStates : boolean ->ILineTokens : ILineTokens return null; >null : null diff --git a/tests/baselines/reference/arrayAugment.types b/tests/baselines/reference/arrayAugment.types index 6d4e5a70a51..224c762c40c 100644 --- a/tests/baselines/reference/arrayAugment.types +++ b/tests/baselines/reference/arrayAugment.types @@ -1,12 +1,8 @@ === tests/cases/compiler/arrayAugment.ts === interface Array { ->Array : T[] ->T : T - split: (parts: number) => T[][]; >split : (parts: number) => T[][] >parts : number ->T : T } var x = ['']; diff --git a/tests/baselines/reference/arrayBestCommonTypes.types b/tests/baselines/reference/arrayBestCommonTypes.types index 97a790493d7..e08644c7561 100644 --- a/tests/baselines/reference/arrayBestCommonTypes.types +++ b/tests/baselines/reference/arrayBestCommonTypes.types @@ -3,15 +3,11 @@ module EmptyTypes { >EmptyTypes : typeof EmptyTypes interface iface { } ->iface : iface - class base implements iface { } >base : base ->iface : iface class base2 implements iface { } >base2 : base2 ->iface : iface class derived extends base { } >derived : derived @@ -235,7 +231,6 @@ module EmptyTypes { >t1 : { x: number; y: base; }[] >x : number >y : base ->base : base >[{ x: 7, y: new derived() }, { x: 5, y: new base() }] : { x: number; y: derived; }[] >{ x: 7, y: new derived() } : { x: number; y: derived; } >x : number @@ -254,7 +249,6 @@ module EmptyTypes { >t2 : { x: boolean; y: base; }[] >x : boolean >y : base ->base : base >[{ x: true, y: new derived() }, { x: false, y: new base() }] : ({ x: true; y: derived; } | { x: false; y: base; })[] >{ x: true, y: new derived() } : { x: true; y: derived; } >x : true @@ -273,7 +267,6 @@ module EmptyTypes { >t3 : { x: string; y: base; }[] >x : string >y : base ->base : base >[{ x: undefined, y: new base() }, { x: '', y: new derived() }] : { x: string; y: derived; }[] >{ x: undefined, y: new base() } : { x: undefined; y: base; } >x : undefined @@ -352,7 +345,6 @@ module EmptyTypes { var ifaceObj: iface = null; >ifaceObj : iface ->iface : iface >null : null var baseObj = new base(); @@ -400,18 +392,15 @@ module NonEmptyTypes { >NonEmptyTypes : typeof NonEmptyTypes interface iface { x: string; } ->iface : iface >x : string class base implements iface { x: string; y: string; } >base : base ->iface : iface >x : string >y : string class base2 implements iface { x: string; z: string; } >base2 : base2 ->iface : iface >x : string >z : string @@ -638,7 +627,6 @@ module NonEmptyTypes { >t1 : { x: number; y: base; }[] >x : number >y : base ->base : base >[{ x: 7, y: new derived() }, { x: 5, y: new base() }] : { x: number; y: base; }[] >{ x: 7, y: new derived() } : { x: number; y: derived; } >x : number @@ -657,7 +645,6 @@ module NonEmptyTypes { >t2 : { x: boolean; y: base; }[] >x : boolean >y : base ->base : base >[{ x: true, y: new derived() }, { x: false, y: new base() }] : ({ x: true; y: derived; } | { x: false; y: base; })[] >{ x: true, y: new derived() } : { x: true; y: derived; } >x : true @@ -676,7 +663,6 @@ module NonEmptyTypes { >t3 : { x: string; y: base; }[] >x : string >y : base ->base : base >[{ x: undefined, y: new base() }, { x: '', y: new derived() }] : ({ x: undefined; y: base; } | { x: string; y: derived; })[] >{ x: undefined, y: new base() } : { x: undefined; y: base; } >x : undefined @@ -755,7 +741,6 @@ module NonEmptyTypes { var ifaceObj: iface = null; >ifaceObj : iface ->iface : iface >null : null var baseObj = new base(); diff --git a/tests/baselines/reference/arrayBufferIsViewNarrowsType.types b/tests/baselines/reference/arrayBufferIsViewNarrowsType.types index 129b7d601d8..6745afb85c1 100644 --- a/tests/baselines/reference/arrayBufferIsViewNarrowsType.types +++ b/tests/baselines/reference/arrayBufferIsViewNarrowsType.types @@ -1,7 +1,6 @@ === tests/cases/compiler/arrayBufferIsViewNarrowsType.ts === var obj: Object; >obj : Object ->Object : Object if (ArrayBuffer.isView(obj)) { >ArrayBuffer.isView(obj) : boolean @@ -13,6 +12,5 @@ if (ArrayBuffer.isView(obj)) { // isView should be a guard that narrows type to ArrayBufferView. var ab: ArrayBufferView = obj; >ab : ArrayBufferView ->ArrayBufferView : ArrayBufferView >obj : ArrayBufferView } diff --git a/tests/baselines/reference/arrayConcat3.types b/tests/baselines/reference/arrayConcat3.types index 33321c43217..8bfe636a971 100644 --- a/tests/baselines/reference/arrayConcat3.types +++ b/tests/baselines/reference/arrayConcat3.types @@ -2,26 +2,12 @@ // TODO: remove lib hack when https://github.com/Microsoft/TypeScript/issues/20454 is fixed type Fn = (subj: U) => U >Fn : Fn ->T : T ->U : U ->T : T >subj : U ->U : U ->U : U function doStuff(a: Array>, b: Array>) { >doStuff : (a: Fn[], b: Fn[]) => void ->T : T ->T1 : T1 ->T : T >a : Fn[] ->Array : T[] ->Fn : Fn ->T : T >b : Fn[] ->Array : T[] ->Fn : Fn ->T1 : T1 b.concat(a); >b.concat(a) : Fn[] diff --git a/tests/baselines/reference/arrayFind.types b/tests/baselines/reference/arrayFind.types index 5c0769cb606..8bc1b36f7f6 100644 --- a/tests/baselines/reference/arrayFind.types +++ b/tests/baselines/reference/arrayFind.types @@ -2,7 +2,6 @@ // test fix for #18112, type guard predicates should narrow returned element function isNumber(x: any): x is number { >isNumber : (x: any) => x is number ->x : any >x : any return typeof x === "number"; @@ -34,7 +33,6 @@ const readonlyArrayOfStringsNumbersAndBooleans = arrayOfStringsNumbersAndBoolean >readonlyArrayOfStringsNumbersAndBooleans : ReadonlyArray >arrayOfStringsNumbersAndBooleans as ReadonlyArray : ReadonlyArray >arrayOfStringsNumbersAndBooleans : (string | number | boolean)[] ->ReadonlyArray : ReadonlyArray const readonlyFoundNumber: number | undefined = readonlyArrayOfStringsNumbersAndBooleans.find(isNumber); >readonlyFoundNumber : number diff --git a/tests/baselines/reference/arrayFrom.types b/tests/baselines/reference/arrayFrom.types index 870d3dde945..69ac2547465 100644 --- a/tests/baselines/reference/arrayFrom.types +++ b/tests/baselines/reference/arrayFrom.types @@ -3,33 +3,25 @@ // Also tests for #19682 interface A { ->A : A - a: string; >a : string } interface B { ->B : B - b: string; >b : string } const inputA: A[] = []; >inputA : A[] ->A : A >[] : undefined[] const inputB: B[] = []; >inputB : B[] ->B : B >[] : undefined[] const inputALike: ArrayLike = { length: 0 }; >inputALike : ArrayLike ->ArrayLike : ArrayLike ->A : A >{ length: 0 } : { length: number; } >length : number >0 : 0 @@ -45,11 +37,9 @@ const inputASet = new Set(); >inputASet : Set >new Set() : Set >Set : SetConstructor ->A : A const result1: A[] = Array.from(inputA); >result1 : A[] ->A : A >Array.from(inputA) : A[] >Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } >Array : ArrayConstructor @@ -58,7 +48,6 @@ const result1: A[] = Array.from(inputA); const result2: A[] = Array.from(inputA.values()); >result2 : A[] ->A : A >Array.from(inputA.values()) : A[] >Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } >Array : ArrayConstructor @@ -70,7 +59,6 @@ const result2: A[] = Array.from(inputA.values()); const result3: B[] = Array.from(inputA.values()); // expect error >result3 : B[] ->B : B >Array.from(inputA.values()) : A[] >Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } >Array : ArrayConstructor @@ -82,7 +70,6 @@ const result3: B[] = Array.from(inputA.values()); // expect error const result4: A[] = Array.from(inputB, ({ b }): A => ({ a: b })); >result4 : A[] ->A : A >Array.from(inputB, ({ b }): A => ({ a: b })) : A[] >Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } >Array : ArrayConstructor @@ -90,7 +77,6 @@ const result4: A[] = Array.from(inputB, ({ b }): A => ({ a: b })); >inputB : B[] >({ b }): A => ({ a: b }) : ({ b }: B) => A >b : string ->A : A >({ a: b }) : { a: string; } >{ a: b } : { a: string; } >a : string @@ -98,7 +84,6 @@ const result4: A[] = Array.from(inputB, ({ b }): A => ({ a: b })); const result5: A[] = Array.from(inputALike); >result5 : A[] ->A : A >Array.from(inputALike) : A[] >Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } >Array : ArrayConstructor @@ -107,7 +92,6 @@ const result5: A[] = Array.from(inputALike); const result6: B[] = Array.from(inputALike); // expect error >result6 : B[] ->B : B >Array.from(inputALike) : A[] >Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } >Array : ArrayConstructor @@ -116,7 +100,6 @@ const result6: B[] = Array.from(inputALike); // expect error const result7: B[] = Array.from(inputALike, ({ a }): B => ({ b: a })); >result7 : B[] ->B : B >Array.from(inputALike, ({ a }): B => ({ b: a })) : B[] >Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } >Array : ArrayConstructor @@ -124,7 +107,6 @@ const result7: B[] = Array.from(inputALike, ({ a }): B => ({ b: a })); >inputALike : ArrayLike >({ a }): B => ({ b: a }) : ({ a }: A) => B >a : string ->B : B >({ b: a }) : { b: string; } >{ b: a } : { b: string; } >b : string @@ -132,7 +114,6 @@ const result7: B[] = Array.from(inputALike, ({ a }): B => ({ b: a })); const result8: A[] = Array.from(inputARand); >result8 : A[] ->A : A >Array.from(inputARand) : A[] >Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } >Array : ArrayConstructor @@ -141,7 +122,6 @@ const result8: A[] = Array.from(inputARand); const result9: B[] = Array.from(inputARand, ({ a }): B => ({ b: a })); >result9 : B[] ->B : B >Array.from(inputARand, ({ a }): B => ({ b: a })) : B[] >Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } >Array : ArrayConstructor @@ -149,7 +129,6 @@ const result9: B[] = Array.from(inputARand, ({ a }): B => ({ b: a })); >inputARand : ArrayLike | Iterable >({ a }): B => ({ b: a }) : ({ a }: A) => B >a : string ->B : B >({ b: a }) : { b: string; } >{ b: a } : { b: string; } >b : string @@ -157,18 +136,15 @@ const result9: B[] = Array.from(inputARand, ({ a }): B => ({ b: a })); const result10: A[] = Array.from(new Set()); >result10 : A[] ->A : A >Array.from(new Set()) : A[] >Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } >Array : ArrayConstructor >from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } >new Set() : Set >Set : SetConstructor ->A : A const result11: B[] = Array.from(inputASet, ({ a }): B => ({ b: a })); >result11 : B[] ->B : B >Array.from(inputASet, ({ a }): B => ({ b: a })) : B[] >Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } >Array : ArrayConstructor @@ -176,7 +152,6 @@ const result11: B[] = Array.from(inputASet, ({ a }): B => ({ b: a })); >inputASet : Set >({ a }): B => ({ b: a }) : ({ a }: A) => B >a : string ->B : B >({ b: a }) : { b: string; } >{ b: a } : { b: string; } >b : string @@ -187,13 +162,8 @@ const result11: B[] = Array.from(inputASet, ({ a }): B => ({ b: a })); // even when the type is written as : Iterable|ArrayLike function getEither (in1: Iterable, in2: ArrayLike) { >getEither : (in1: Iterable, in2: ArrayLike) => Iterable | ArrayLike ->T : T >in1 : Iterable ->Iterable : Iterable ->T : T >in2 : ArrayLike ->ArrayLike : ArrayLike ->T : T return Math.random() > 0.5 ? in1 : in2; >Math.random() > 0.5 ? in1 : in2 : Iterable | ArrayLike diff --git a/tests/baselines/reference/arrayLiteralAndArrayConstructorEquivalence1.types b/tests/baselines/reference/arrayLiteralAndArrayConstructorEquivalence1.types index ea4803c0244..8a6d1648302 100644 --- a/tests/baselines/reference/arrayLiteralAndArrayConstructorEquivalence1.types +++ b/tests/baselines/reference/arrayLiteralAndArrayConstructorEquivalence1.types @@ -12,11 +12,9 @@ var myCars3 = new Array({}); var myCars4: Array; // error >myCars4 : any ->Array : T[] var myCars5: Array[]; >myCars5 : any[][] ->Array : T[] myCars = myCars3; >myCars = myCars3 : {}[] diff --git a/tests/baselines/reference/arrayLiteralContextualType.types b/tests/baselines/reference/arrayLiteralContextualType.types index f9d65aa2dff..7aac86e75d0 100644 --- a/tests/baselines/reference/arrayLiteralContextualType.types +++ b/tests/baselines/reference/arrayLiteralContextualType.types @@ -1,7 +1,5 @@ === tests/cases/compiler/arrayLiteralContextualType.ts === interface IAnimal { ->IAnimal : IAnimal - name: string; >name : string } @@ -33,13 +31,11 @@ class Elephant { function foo(animals: IAnimal[]) { } >foo : (animals: IAnimal[]) => void >animals : IAnimal[] ->IAnimal : IAnimal function bar(animals: { [n: number]: IAnimal }) { } >bar : (animals: { [n: number]: IAnimal; }) => void >animals : { [n: number]: IAnimal; } >n : number ->IAnimal : IAnimal foo([ >foo([ new Giraffe(), new Elephant()]) : void diff --git a/tests/baselines/reference/arrayLiteralTypeInference.types b/tests/baselines/reference/arrayLiteralTypeInference.types index bb3c8b0b7de..609d057e120 100644 --- a/tests/baselines/reference/arrayLiteralTypeInference.types +++ b/tests/baselines/reference/arrayLiteralTypeInference.types @@ -24,7 +24,6 @@ class ActionB extends Action { var x1: Action[] = [ >x1 : Action[] ->Action : Action >[ { id: 2, trueness: false }, { id: 3, name: "three" }] : ({ id: number; trueness: boolean; } | { id: number; name: string; })[] { id: 2, trueness: false }, @@ -45,7 +44,6 @@ var x1: Action[] = [ var x2: Action[] = [ >x2 : Action[] ->Action : Action >[ new ActionA(), new ActionB()] : (ActionA | ActionB)[] new ActionA(), @@ -60,7 +58,6 @@ var x2: Action[] = [ var x3: Action[] = [ >x3 : Action[] ->Action : Action >[ new Action(), new ActionA(), new ActionB()] : Action[] new Action(), diff --git a/tests/baselines/reference/arrayLiteralWithMultipleBestCommonTypes.types b/tests/baselines/reference/arrayLiteralWithMultipleBestCommonTypes.types index 43cbb87e843..25c1878cd5a 100644 --- a/tests/baselines/reference/arrayLiteralWithMultipleBestCommonTypes.types +++ b/tests/baselines/reference/arrayLiteralWithMultipleBestCommonTypes.types @@ -40,7 +40,6 @@ var ds = [(x: Object) => 1, (x: string) => 2]; // { (x:Object) => number }[] >[(x: Object) => 1, (x: string) => 2] : ((x: Object) => number)[] >(x: Object) => 1 : (x: Object) => number >x : Object ->Object : Object >1 : 1 >(x: string) => 2 : (x: string) => number >x : string @@ -54,7 +53,6 @@ var es = [(x: string) => 2, (x: Object) => 1]; // { (x:string) => number }[] >2 : 2 >(x: Object) => 1 : (x: Object) => number >x : Object ->Object : Object >1 : 1 var fs = [(a: { x: number; y?: number }) => 1, (b: { x: number; z?: number }) => 2]; // (a: { x: number; y?: number }) => number[] diff --git a/tests/baselines/reference/arrayLiterals.types b/tests/baselines/reference/arrayLiterals.types index 02dec0c8ecd..ab5c6ea037d 100644 --- a/tests/baselines/reference/arrayLiterals.types +++ b/tests/baselines/reference/arrayLiterals.types @@ -73,7 +73,6 @@ var classTypeArray = [C, C, C]; var classTypeArray: Array; // Should OK, not be a parse error >classTypeArray : (typeof C)[] ->Array : T[] >C : typeof C // Contextual type C with numeric index signature makes array literal of EveryType E of type BCT(E,C)[] @@ -133,7 +132,6 @@ class Derived2 extends Base { private n }; var context3: Base[] = [new Derived1(), new Derived2()]; >context3 : Base[] ->Base : Base >[new Derived1(), new Derived2()] : (Derived1 | Derived2)[] >new Derived1() : Derived1 >Derived1 : typeof Derived1 @@ -143,7 +141,6 @@ var context3: Base[] = [new Derived1(), new Derived2()]; // Contextual type C with numeric index signature of type Base makes array literal of Derived1 and Derived2 have type Base[] var context4: Base[] = [new Derived1(), new Derived1()]; >context4 : Base[] ->Base : Base >[new Derived1(), new Derived1()] : Derived1[] >new Derived1() : Derived1 >Derived1 : typeof Derived1 diff --git a/tests/baselines/reference/arrayLiterals2ES5.types b/tests/baselines/reference/arrayLiterals2ES5.types index c3256db925e..eada601988e 100644 --- a/tests/baselines/reference/arrayLiterals2ES5.types +++ b/tests/baselines/reference/arrayLiterals2ES5.types @@ -140,16 +140,7 @@ var temp4 = []; >[] : undefined[] interface myArray extends Array { } ->myArray : myArray ->Array : T[] ->Number : Number - interface myArray2 extends Array { } ->myArray2 : myArray2 ->Array : T[] ->Number : Number ->String : String - var d0 = [1, true, ...temp,]; // has type (string|number|boolean)[] >d0 : (string | number | boolean)[] >[1, true, ...temp,] : (string | number | boolean)[] @@ -172,14 +163,12 @@ var d2: number[] = [...temp1]; var d3: myArray = [...temp1]; >d3 : myArray ->myArray : myArray >[...temp1] : number[] >...temp1 : number >temp1 : number[] var d4: myArray2 = [...temp, ...temp1]; >d4 : myArray2 ->myArray2 : myArray2 >[...temp, ...temp1] : (string | number)[] >...temp : string >temp : string[] diff --git a/tests/baselines/reference/arrayLiterals2ES6.types b/tests/baselines/reference/arrayLiterals2ES6.types index 57f3f44f62d..dceced7a385 100644 --- a/tests/baselines/reference/arrayLiterals2ES6.types +++ b/tests/baselines/reference/arrayLiterals2ES6.types @@ -129,16 +129,7 @@ var temp2: [number[], string[]] = [[1, 2, 3], ["hello", "string"]]; >"string" : "string" interface myArray extends Array { } ->myArray : myArray ->Array : T[] ->Number : Number - interface myArray2 extends Array { } ->myArray2 : myArray2 ->Array : T[] ->Number : Number ->String : String - var d0 = [1, true, ...temp, ]; // has type (string|number|boolean)[] >d0 : (string | number | boolean)[] >[1, true, ...temp, ] : (string | number | boolean)[] @@ -161,14 +152,12 @@ var d2: number[] = [...temp1]; var d3: myArray = [...temp1]; >d3 : myArray ->myArray : myArray >[...temp1] : number[] >...temp1 : number >temp1 : number[] var d4: myArray2 = [...temp, ...temp1]; >d4 : myArray2 ->myArray2 : myArray2 >[...temp, ...temp1] : (string | number)[] >...temp : string >temp : string[] diff --git a/tests/baselines/reference/arrayLiterals3.types b/tests/baselines/reference/arrayLiterals3.types index bf3ff4cf4f6..44845feae03 100644 --- a/tests/baselines/reference/arrayLiterals3.types +++ b/tests/baselines/reference/arrayLiterals3.types @@ -61,8 +61,6 @@ var temp2: [number[], string[]] = [[1, 2, 3], ["hello", "string"]]; >"string" : "string" interface tup { ->tup : tup - 0: number[]|string[]; >0 : number[] | string[] @@ -70,19 +68,9 @@ interface tup { >1 : number[] | string[] } interface myArray extends Array { } ->myArray : myArray ->Array : T[] ->Number : Number - interface myArray2 extends Array { } ->myArray2 : myArray2 ->Array : T[] ->Number : Number ->String : String - var c0: tup = [...temp2]; // Error >c0 : tup ->tup : tup >[...temp2] : (number[] | string[])[] >...temp2 : number[] | string[] >temp2 : [number[], string[]] @@ -95,7 +83,6 @@ var c1: [number, number, number] = [...temp1]; // Error cannot assign number[ var c2: myArray = [...temp1, ...temp]; // Error cannot assign (number|string)[] to number[] >c2 : myArray ->myArray : myArray >[...temp1, ...temp] : (string | number)[] >...temp1 : number >temp1 : number[] diff --git a/tests/baselines/reference/arrayLiteralsWithRecursiveGenerics.types b/tests/baselines/reference/arrayLiteralsWithRecursiveGenerics.types index 75013cdef09..aef12f15f58 100644 --- a/tests/baselines/reference/arrayLiteralsWithRecursiveGenerics.types +++ b/tests/baselines/reference/arrayLiteralsWithRecursiveGenerics.types @@ -1,58 +1,42 @@ === tests/cases/conformance/types/typeRelationships/recursiveTypes/arrayLiteralsWithRecursiveGenerics.ts === class List { >List : List ->T : T data: T; >data : T ->T : T next: List>; >next : List> ->List : List ->List : List ->T : T } class DerivedList extends List { >DerivedList : DerivedList ->U : U >List : List ->U : U foo: U; >foo : U ->U : U // next: List> } class MyList { >MyList : MyList ->T : T data: T; >data : T ->T : T next: MyList>; >next : MyList> ->MyList : MyList ->MyList : MyList ->T : T } var list: List; >list : List ->List : List var list2: List; >list2 : List ->List : List var myList: MyList; >myList : MyList ->MyList : MyList var xs = [list, myList]; // {}[] >xs : (List | MyList)[] @@ -74,7 +58,6 @@ var zs = [list, null]; // List[] var myDerivedList: DerivedList; >myDerivedList : DerivedList ->DerivedList : DerivedList var as = [list, myDerivedList]; // List[] >as : List[] diff --git a/tests/baselines/reference/arrayOfExportedClass.types b/tests/baselines/reference/arrayOfExportedClass.types index 8447ed2841f..74676750a9a 100644 --- a/tests/baselines/reference/arrayOfExportedClass.types +++ b/tests/baselines/reference/arrayOfExportedClass.types @@ -8,12 +8,10 @@ class Road { public cars: Car[]; >cars : Car[] ->Car : Car public AddCars(cars: Car[]) { >AddCars : (cars: Car[]) => void >cars : Car[] ->Car : Car this.cars = cars; >this.cars = cars : Car[] diff --git a/tests/baselines/reference/arrayOfFunctionTypes3.types b/tests/baselines/reference/arrayOfFunctionTypes3.types index c7251ea45d2..4dd258645a6 100644 --- a/tests/baselines/reference/arrayOfFunctionTypes3.types +++ b/tests/baselines/reference/arrayOfFunctionTypes3.types @@ -76,24 +76,18 @@ var r5b = r4(1); var a2: { (x: T): number; (x: string): string;}; >a2 : { (x: T): number; (x: string): string; } ->T : T >x : T ->T : T >x : string var b2: { (x: T): number; (x: string): string; }; >b2 : { (x: T): number; (x: string): string; } ->T : T >x : T ->T : T >x : string var c2: { (x: number): number; (x: T): any; }; >c2 : { (x: number): number; (x: T): any; } >x : number ->T : T >x : T ->T : T var z2 = [a2, b2, c2]; >z2 : { (x: number): number; (x: T): any; }[] diff --git a/tests/baselines/reference/arrayOfSubtypeIsAssignableToReadonlyArray.types b/tests/baselines/reference/arrayOfSubtypeIsAssignableToReadonlyArray.types index dea89276a58..535522182fd 100644 --- a/tests/baselines/reference/arrayOfSubtypeIsAssignableToReadonlyArray.types +++ b/tests/baselines/reference/arrayOfSubtypeIsAssignableToReadonlyArray.types @@ -10,38 +10,26 @@ class B extends A { b } class C extends Array { c } >C : C ->T : T >Array : T[] ->T : T >c : any declare var ara: A[]; >ara : A[] ->A : A declare var arb: B[]; >arb : B[] ->B : B declare var cra: C; >cra : C ->C : C ->A : A declare var crb: C; >crb : C ->C : C ->B : B declare var rra: ReadonlyArray; >rra : ReadonlyArray ->ReadonlyArray : ReadonlyArray ->A : A declare var rrb: ReadonlyArray; >rrb : ReadonlyArray ->ReadonlyArray : ReadonlyArray ->B : B rra = ara; >rra = ara : A[] diff --git a/tests/baselines/reference/arrayReferenceWithoutTypeArgs.types b/tests/baselines/reference/arrayReferenceWithoutTypeArgs.types index a4931c1c2cc..0fd47267ffe 100644 --- a/tests/baselines/reference/arrayReferenceWithoutTypeArgs.types +++ b/tests/baselines/reference/arrayReferenceWithoutTypeArgs.types @@ -5,5 +5,4 @@ class X { public f(a: Array) { } >f : (a: any) => void >a : any ->Array : T[] } diff --git a/tests/baselines/reference/arraySigChecking.types b/tests/baselines/reference/arraySigChecking.types index 470e721d1bb..bfd8b878bca 100644 --- a/tests/baselines/reference/arraySigChecking.types +++ b/tests/baselines/reference/arraySigChecking.types @@ -3,13 +3,9 @@ declare module M { >M : typeof M interface iBar { t: any; } ->iBar : iBar >t : any interface iFoo extends iBar { ->iFoo : iFoo ->iBar : iBar - s: any; >s : any } @@ -27,14 +23,11 @@ declare module M { } interface myInt { ->myInt : myInt - voidFn(): void; >voidFn : () => void } var myVar: myInt; >myVar : myInt ->myInt : myInt var strArray: string[] = [myVar.voidFn()]; >strArray : string[] diff --git a/tests/baselines/reference/arrayTypeInSignatureOfInterfaceAndClass.types b/tests/baselines/reference/arrayTypeInSignatureOfInterfaceAndClass.types index 57a8c73e5e6..702dcefe44e 100644 --- a/tests/baselines/reference/arrayTypeInSignatureOfInterfaceAndClass.types +++ b/tests/baselines/reference/arrayTypeInSignatureOfInterfaceAndClass.types @@ -4,33 +4,21 @@ declare module WinJS { class Promise { >Promise : Promise ->T : T then(success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; >then : (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void) => Promise ->U : U >success : (value: T) => Promise >value : T ->T : T ->Promise : Promise ->U : U >error : (error: any) => Promise >error : any ->Promise : Promise ->U : U >progress : (progress: any) => void >progress : any ->Promise : Promise ->U : U } } declare module Data { >Data : typeof Data export interface IListItem { ->IListItem : IListItem ->T : T - itemIndex: number; >itemIndex : number @@ -39,7 +27,6 @@ declare module Data { data: T; >data : T ->T : T group: any; >group : any @@ -57,24 +44,15 @@ declare module Data { >preventAugmentation : boolean } export interface IVirtualList { ->IVirtualList : IVirtualList ->T : T - //removeIndices: WinJS.Promise[]>; removeIndices(indices: number[], options?: any): WinJS.Promise[]>; >removeIndices : (indices: number[], options?: any) => WinJS.Promise[]> >indices : number[] >options : any >WinJS : any ->Promise : WinJS.Promise ->IListItem : IListItem ->T : T } export class VirtualList implements IVirtualList { >VirtualList : VirtualList ->T : T ->IVirtualList : IVirtualList ->T : T //removeIndices: WinJS.Promise[]>; public removeIndices(indices: number[], options?: any): WinJS.Promise[]>; @@ -82,8 +60,5 @@ declare module Data { >indices : number[] >options : any >WinJS : any ->Promise : WinJS.Promise ->IListItem : IListItem ->T : T } } diff --git a/tests/baselines/reference/arrayTypeOfFunctionTypes.types b/tests/baselines/reference/arrayTypeOfFunctionTypes.types index 5248c6731c0..b9c4d01198a 100644 --- a/tests/baselines/reference/arrayTypeOfFunctionTypes.types +++ b/tests/baselines/reference/arrayTypeOfFunctionTypes.types @@ -41,7 +41,6 @@ var r4b = new r3(); // error var x3: Array<() => string>; >x3 : (() => string)[] ->Array : T[] var r5 = x2[1]; >r5 : () => string diff --git a/tests/baselines/reference/arrayTypeOfFunctionTypes2.types b/tests/baselines/reference/arrayTypeOfFunctionTypes2.types index 8ca385a71ba..f19a63211a1 100644 --- a/tests/baselines/reference/arrayTypeOfFunctionTypes2.types +++ b/tests/baselines/reference/arrayTypeOfFunctionTypes2.types @@ -41,7 +41,6 @@ var r4b = new r3(); var x3: Array string>; >x3 : (new () => string)[] ->Array : T[] var r5 = x2[1]; >r5 : new () => string diff --git a/tests/baselines/reference/arrayconcat.types b/tests/baselines/reference/arrayconcat.types index adbb1f7d021..9a221314aa0 100644 --- a/tests/baselines/reference/arrayconcat.types +++ b/tests/baselines/reference/arrayconcat.types @@ -1,7 +1,5 @@ === tests/cases/compiler/arrayconcat.ts === interface IOptions { ->IOptions : IOptions - name?: string; >name : string @@ -30,7 +28,6 @@ class parser { public options: IOptions[]; >options : IOptions[] ->IOptions : IOptions public m() { >m : () => void diff --git a/tests/baselines/reference/arrowFunctionContexts.types b/tests/baselines/reference/arrowFunctionContexts.types index d11a15a10b6..17907418b09 100644 --- a/tests/baselines/reference/arrowFunctionContexts.types +++ b/tests/baselines/reference/arrowFunctionContexts.types @@ -207,34 +207,24 @@ module M2 { var generic1 = (n: T) => [n]; >generic1 : (n: T) => T[] >(n: T) => [n] : (n: T) => T[] ->T : T >n : T ->T : T >[n] : T[] >n : T var generic1: { (n: T): T[] }; // Incorrect error, Bug 829597 >generic1 : (n: T) => T[] ->T : T >n : T ->T : T ->T : T var generic2 = (n: T) => { return [n]; }; >generic2 : (n: T) => T[] >(n: T) => { return [n]; } : (n: T) => T[] ->T : T >n : T ->T : T >[n] : T[] >n : T var generic2: { (n: T): T[] }; >generic2 : (n: T) => T[] ->T : T >n : T ->T : T ->T : T // ((ParamList) => { ... } ) is a type assertion to an arrow function var asserted1 = ((n) => [n]); diff --git a/tests/baselines/reference/arrowFunctionWithObjectLiteralBody5.types b/tests/baselines/reference/arrowFunctionWithObjectLiteralBody5.types index 8a006d7f1d4..dccfe1724cc 100644 --- a/tests/baselines/reference/arrowFunctionWithObjectLiteralBody5.types +++ b/tests/baselines/reference/arrowFunctionWithObjectLiteralBody5.types @@ -3,7 +3,6 @@ var a = () => { name: "foo", message: "bar" }; >a : () => Error >() => { name: "foo", message: "bar" } : () => Error >{ name: "foo", message: "bar" } : Error ->Error : Error >{ name: "foo", message: "bar" } : { name: string; message: string; } >name : string >"foo" : "foo" @@ -15,7 +14,6 @@ var b = () => ({ name: "foo", message: "bar" }); >() => ({ name: "foo", message: "bar" }) : () => Error >({ name: "foo", message: "bar" }) : Error >{ name: "foo", message: "bar" } : Error ->Error : Error >{ name: "foo", message: "bar" } : { name: string; message: string; } >name : string >"foo" : "foo" @@ -38,7 +36,6 @@ var d = () => ((({ name: "foo", message: "bar" }))); >((({ name: "foo", message: "bar" }))) : Error >(({ name: "foo", message: "bar" })) : Error >({ name: "foo", message: "bar" }) : Error ->Error : Error >({ name: "foo", message: "bar" }) : { name: string; message: string; } >{ name: "foo", message: "bar" } : { name: string; message: string; } >name : string diff --git a/tests/baselines/reference/arrowFunctionWithObjectLiteralBody6.types b/tests/baselines/reference/arrowFunctionWithObjectLiteralBody6.types index 615f19aaf6b..fea7c40d2b0 100644 --- a/tests/baselines/reference/arrowFunctionWithObjectLiteralBody6.types +++ b/tests/baselines/reference/arrowFunctionWithObjectLiteralBody6.types @@ -3,7 +3,6 @@ var a = () => { name: "foo", message: "bar" }; >a : () => Error >() => { name: "foo", message: "bar" } : () => Error >{ name: "foo", message: "bar" } : Error ->Error : Error >{ name: "foo", message: "bar" } : { name: string; message: string; } >name : string >"foo" : "foo" @@ -15,7 +14,6 @@ var b = () => ({ name: "foo", message: "bar" }); >() => ({ name: "foo", message: "bar" }) : () => Error >({ name: "foo", message: "bar" }) : Error >{ name: "foo", message: "bar" } : Error ->Error : Error >{ name: "foo", message: "bar" } : { name: string; message: string; } >name : string >"foo" : "foo" @@ -38,7 +36,6 @@ var d = () => ((({ name: "foo", message: "bar" }))); >((({ name: "foo", message: "bar" }))) : Error >(({ name: "foo", message: "bar" })) : Error >({ name: "foo", message: "bar" }) : Error ->Error : Error >({ name: "foo", message: "bar" }) : { name: string; message: string; } >{ name: "foo", message: "bar" } : { name: string; message: string; } >name : string diff --git a/tests/baselines/reference/asOperatorAmbiguity.types b/tests/baselines/reference/asOperatorAmbiguity.types index 61aa0f00e66..09677db7d01 100644 --- a/tests/baselines/reference/asOperatorAmbiguity.types +++ b/tests/baselines/reference/asOperatorAmbiguity.types @@ -1,12 +1,8 @@ === tests/cases/conformance/expressions/asOperator/asOperatorAmbiguity.ts === interface A { x: T; } ->A : A ->T : T >x : T ->T : T interface B { m: string; } ->B : B >m : string // Make sure this is a type assertion to an array type, and not nested comparison operators. @@ -17,8 +13,6 @@ var y = x as A[]; >y : A[] >x as A[] : A[] >x : any ->A : A ->B : B var z = y[0].m; // z should be string >z : any diff --git a/tests/baselines/reference/assertInWrapSomeTypeParameter.types b/tests/baselines/reference/assertInWrapSomeTypeParameter.types index 289001b6c3a..b054bed4e01 100644 --- a/tests/baselines/reference/assertInWrapSomeTypeParameter.types +++ b/tests/baselines/reference/assertInWrapSomeTypeParameter.types @@ -1,18 +1,10 @@ === tests/cases/compiler/assertInWrapSomeTypeParameter.ts === class C> { >C : C ->T : T ->C : C ->T : T foo>(x: U) { >foo : >>(x: U) => any ->U : U ->C : C ->C : C ->T : T >x : U ->U : U return null; >null : null diff --git a/tests/baselines/reference/assign1.types b/tests/baselines/reference/assign1.types index 51d9c72c54e..db8b9f05ebe 100644 --- a/tests/baselines/reference/assign1.types +++ b/tests/baselines/reference/assign1.types @@ -3,8 +3,6 @@ module M { >M : typeof M interface I { ->I : I - salt:number; >salt : number @@ -14,7 +12,6 @@ module M { var x:I={salt:2,pepper:0}; >x : I ->I : I >{salt:2,pepper:0} : { salt: number; pepper: number; } >salt : number >2 : 2 diff --git a/tests/baselines/reference/assignAnyToEveryType.types b/tests/baselines/reference/assignAnyToEveryType.types index c3f475d058d..bddd4fcb45c 100644 --- a/tests/baselines/reference/assignAnyToEveryType.types +++ b/tests/baselines/reference/assignAnyToEveryType.types @@ -47,7 +47,6 @@ enum E { var g: E = x; >g : E ->E : E >x : any var g2 = E.A; @@ -70,19 +69,15 @@ class C { var h: C = x; >h : C ->C : C >x : any interface I { ->I : I - foo: string; >foo : string } var i: I = x; >i : I ->I : I >x : any var j: { (): string } = x; @@ -91,9 +86,7 @@ var j: { (): string } = x; var j2: { (x: T): string } = x; >j2 : (x: T) => string ->T : T >x : T ->T : T >x : any module M { @@ -111,9 +104,7 @@ M = x; function k(a: T) { >k : (a: T) => void ->T : T >a : T ->T : T a = x; >a = x : any diff --git a/tests/baselines/reference/assignEveryTypeToAny.types b/tests/baselines/reference/assignEveryTypeToAny.types index cfc24e1da65..a0b397a003b 100644 --- a/tests/baselines/reference/assignEveryTypeToAny.types +++ b/tests/baselines/reference/assignEveryTypeToAny.types @@ -98,15 +98,12 @@ x = f; >f : E interface I { ->I : I - foo: string; >foo : string } var g: I; >g : I ->I : I x = g; >x = g : I @@ -122,7 +119,6 @@ class C { var h: C; >h : C ->C : C x = h; >x = h : C @@ -149,16 +145,12 @@ x = { f(x: T) { return x; } } >x : any >{ f(x: T) { return x; } } : { f(x: T): T; } >f : (x: T) => T ->T : T >x : T ->T : T >x : T function j(a: T) { >j : (a: T) => void ->T : T >a : T ->T : T x = a; >x = a : T diff --git a/tests/baselines/reference/assignFromBooleanInterface.types b/tests/baselines/reference/assignFromBooleanInterface.types index 598f89bc2a4..93c798eb993 100644 --- a/tests/baselines/reference/assignFromBooleanInterface.types +++ b/tests/baselines/reference/assignFromBooleanInterface.types @@ -5,7 +5,6 @@ var x = true; var a: Boolean; >a : Boolean ->Boolean : Boolean x = a; >x = a : Boolean diff --git a/tests/baselines/reference/assignFromBooleanInterface2.types b/tests/baselines/reference/assignFromBooleanInterface2.types index 7472fec421a..758b160f6e3 100644 --- a/tests/baselines/reference/assignFromBooleanInterface2.types +++ b/tests/baselines/reference/assignFromBooleanInterface2.types @@ -1,14 +1,10 @@ === tests/cases/conformance/types/primitives/boolean/assignFromBooleanInterface2.ts === interface Boolean { ->Boolean : Boolean - doStuff(): string; >doStuff : () => string } interface NotBoolean { ->NotBoolean : NotBoolean - doStuff(): string; >doStuff : () => string } @@ -19,11 +15,9 @@ var x = true; var a: Boolean; >a : Boolean ->Boolean : Boolean var b: NotBoolean; >b : NotBoolean ->NotBoolean : NotBoolean a = x; >a = x : true diff --git a/tests/baselines/reference/assignFromNumberInterface.types b/tests/baselines/reference/assignFromNumberInterface.types index d37023d8a53..98d5b78edab 100644 --- a/tests/baselines/reference/assignFromNumberInterface.types +++ b/tests/baselines/reference/assignFromNumberInterface.types @@ -5,7 +5,6 @@ var x = 1; var a: Number; >a : Number ->Number : Number x = a; >x = a : Number diff --git a/tests/baselines/reference/assignFromNumberInterface2.types b/tests/baselines/reference/assignFromNumberInterface2.types index d2c4fc04658..01a293f3a76 100644 --- a/tests/baselines/reference/assignFromNumberInterface2.types +++ b/tests/baselines/reference/assignFromNumberInterface2.types @@ -1,14 +1,10 @@ === tests/cases/conformance/types/primitives/number/assignFromNumberInterface2.ts === interface Number { ->Number : Number - doStuff(): string; >doStuff : () => string } interface NotNumber { ->NotNumber : NotNumber - toString(radix?: number): string; >toString : (radix?: number) => string >radix : number @@ -38,11 +34,9 @@ var x = 1; var a: Number; >a : Number ->Number : Number var b: NotNumber; >b : NotNumber ->NotNumber : NotNumber a = x; >a = x : number diff --git a/tests/baselines/reference/assignFromStringInterface.types b/tests/baselines/reference/assignFromStringInterface.types index 07c2433e586..5c5c2f319b6 100644 --- a/tests/baselines/reference/assignFromStringInterface.types +++ b/tests/baselines/reference/assignFromStringInterface.types @@ -5,7 +5,6 @@ var x = ''; var a: String; >a : String ->String : String x = a; >x = a : String diff --git a/tests/baselines/reference/assignFromStringInterface2.types b/tests/baselines/reference/assignFromStringInterface2.types index 8ec212babce..103fea90217 100644 --- a/tests/baselines/reference/assignFromStringInterface2.types +++ b/tests/baselines/reference/assignFromStringInterface2.types @@ -1,14 +1,10 @@ === tests/cases/conformance/types/primitives/string/assignFromStringInterface2.ts === interface String { ->String : String - doStuff(): string; >doStuff : () => string } interface NotString { ->NotString : NotString - doStuff(): string; >doStuff : () => string @@ -48,7 +44,6 @@ interface NotString { match(regexp: RegExp): string[]; >match : { (regexp: string): string[]; (regexp: RegExp): string[]; } >regexp : RegExp ->RegExp : RegExp replace(searchValue: string, replaceValue: string): string; >replace : { (searchValue: string, replaceValue: string): string; (searchValue: string, replaceValue: (substring: string, ...args: any[]) => string): string; (searchValue: RegExp, replaceValue: string): string; (searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; } @@ -65,13 +60,11 @@ interface NotString { replace(searchValue: RegExp, replaceValue: string): string; >replace : { (searchValue: string, replaceValue: string): string; (searchValue: string, replaceValue: (substring: string, ...args: any[]) => string): string; (searchValue: RegExp, replaceValue: string): string; (searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; } >searchValue : RegExp ->RegExp : RegExp >replaceValue : string replace(searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; >replace : { (searchValue: string, replaceValue: string): string; (searchValue: string, replaceValue: (substring: string, ...args: any[]) => string): string; (searchValue: RegExp, replaceValue: string): string; (searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; } >searchValue : RegExp ->RegExp : RegExp >replaceValue : (substring: string, ...args: any[]) => string >substring : string >args : any[] @@ -83,7 +76,6 @@ interface NotString { search(regexp: RegExp): number; >search : { (regexp: string): number; (regexp: RegExp): number; } >regexp : RegExp ->RegExp : RegExp slice(start?: number, end?: number): string; >slice : (start?: number, end?: number) => string @@ -98,7 +90,6 @@ interface NotString { split(separator: RegExp, limit?: number): string[]; >split : { (separator: string, limit?: number): string[]; (separator: RegExp, limit?: number): string[]; } >separator : RegExp ->RegExp : RegExp >limit : number substring(start: number, end?: number): string; @@ -142,11 +133,9 @@ var x = ''; var a: String; >a : String ->String : String var b: NotString; >b : NotString ->NotString : NotString a = x; >a = x : string diff --git a/tests/baselines/reference/assignLambdaToNominalSubtypeOfFunction.types b/tests/baselines/reference/assignLambdaToNominalSubtypeOfFunction.types index bff7fe98da4..9011a098363 100644 --- a/tests/baselines/reference/assignLambdaToNominalSubtypeOfFunction.types +++ b/tests/baselines/reference/assignLambdaToNominalSubtypeOfFunction.types @@ -1,8 +1,5 @@ === tests/cases/compiler/assignLambdaToNominalSubtypeOfFunction.ts === interface IResultCallback extends Function { ->IResultCallback : IResultCallback ->Function : Function - x: number; >x : number } @@ -10,7 +7,6 @@ interface IResultCallback extends Function { function fn(cb: IResultCallback) { } >fn : (cb: IResultCallback) => void >cb : IResultCallback ->IResultCallback : IResultCallback fn((a, b) => true); >fn((a, b) => true) : void diff --git a/tests/baselines/reference/assignToFn.types b/tests/baselines/reference/assignToFn.types index 927f2261fcf..954eaa8b23d 100644 --- a/tests/baselines/reference/assignToFn.types +++ b/tests/baselines/reference/assignToFn.types @@ -3,8 +3,6 @@ module M { >M : typeof M interface I { ->I : I - f(n:number):boolean; >f : (n: number) => boolean >n : number @@ -12,7 +10,6 @@ module M { var x:I={ f:function(n) { return true; } }; >x : I ->I : I >{ f:function(n) { return true; } } : { f: (n: number) => true; } >f : (n: number) => true >function(n) { return true; } : (n: number) => true diff --git a/tests/baselines/reference/assignToModule.types b/tests/baselines/reference/assignToModule.types index 887e3d2c2b1..afbb933e9d1 100644 --- a/tests/baselines/reference/assignToModule.types +++ b/tests/baselines/reference/assignToModule.types @@ -1,7 +1,5 @@ === tests/cases/compiler/assignToModule.ts === module A {} ->A : any - A = undefined; // invalid LHS >A = undefined : undefined >A : any diff --git a/tests/baselines/reference/assignToObjectTypeWithPrototypeProperty.types b/tests/baselines/reference/assignToObjectTypeWithPrototypeProperty.types index 7ea260f8c15..a71c447b5c6 100644 --- a/tests/baselines/reference/assignToObjectTypeWithPrototypeProperty.types +++ b/tests/baselines/reference/assignToObjectTypeWithPrototypeProperty.types @@ -4,7 +4,6 @@ class XEvent {} var p: XEvent = XEvent.prototype; >p : XEvent ->XEvent : XEvent >XEvent.prototype : XEvent >XEvent : typeof XEvent >prototype : XEvent @@ -12,6 +11,5 @@ var p: XEvent = XEvent.prototype; var x: {prototype: XEvent} = XEvent; >x : { prototype: XEvent; } >prototype : XEvent ->XEvent : XEvent >XEvent : typeof XEvent diff --git a/tests/baselines/reference/assigningFromObjectToAnythingElse.types b/tests/baselines/reference/assigningFromObjectToAnythingElse.types index 2b31b0c7673..65e7012ffc3 100644 --- a/tests/baselines/reference/assigningFromObjectToAnythingElse.types +++ b/tests/baselines/reference/assigningFromObjectToAnythingElse.types @@ -1,11 +1,9 @@ === tests/cases/compiler/assigningFromObjectToAnythingElse.ts === var x: Object; >x : Object ->Object : Object var y: RegExp; >y : RegExp ->RegExp : RegExp y = x; >y = x : Object @@ -14,27 +12,22 @@ y = x; var a: String = Object.create(""); >a : String ->String : String >Object.create("") : any >Object.create : { (o: object): any; (o: object, properties: PropertyDescriptorMap & ThisType): any; } >Object : ObjectConstructor >create : { (o: object): any; (o: object, properties: PropertyDescriptorMap & ThisType): any; } ->Object : Object >"" : "" var c: String = Object.create(1); >c : String ->String : String >Object.create(1) : any >Object.create : { (o: object): any; (o: object, properties: PropertyDescriptorMap & ThisType): any; } >Object : ObjectConstructor >create : { (o: object): any; (o: object, properties: PropertyDescriptorMap & ThisType): any; } ->Number : Number >1 : 1 var w: Error = new Object(); >w : Error ->Error : Error >new Object() : Object >Object : ObjectConstructor diff --git a/tests/baselines/reference/assignmentCompatForEnums.types b/tests/baselines/reference/assignmentCompatForEnums.types index dde41372e11..8d2fdf0a8b3 100644 --- a/tests/baselines/reference/assignmentCompatForEnums.types +++ b/tests/baselines/reference/assignmentCompatForEnums.types @@ -11,7 +11,6 @@ var list = {}; function returnType(): TokenType { return null; } >returnType : () => TokenType ->TokenType : TokenType >null : null function foo() { @@ -24,7 +23,6 @@ function foo() { var x: TokenType = list['one']; >x : TokenType ->TokenType : TokenType >list['one'] : any >list : {} >'one' : "one" diff --git a/tests/baselines/reference/assignmentCompatInterfaceWithStringIndexSignature.types b/tests/baselines/reference/assignmentCompatInterfaceWithStringIndexSignature.types index 57371756706..40ea57b597a 100644 --- a/tests/baselines/reference/assignmentCompatInterfaceWithStringIndexSignature.types +++ b/tests/baselines/reference/assignmentCompatInterfaceWithStringIndexSignature.types @@ -1,17 +1,12 @@ === tests/cases/compiler/assignmentCompatInterfaceWithStringIndexSignature.ts === interface IHandler { ->IHandler : IHandler - (e): boolean; >e : any } interface IHandlerMap { ->IHandlerMap : IHandlerMap - [type: string]: IHandler; >type : string ->IHandler : IHandler } class Foo { @@ -24,7 +19,6 @@ class Foo { function Biz(map: IHandlerMap) { } >Biz : (map: IHandlerMap) => void >map : IHandlerMap ->IHandlerMap : IHandlerMap Biz(new Foo()); >Biz(new Foo()) : void diff --git a/tests/baselines/reference/assignmentCompatOnNew.types b/tests/baselines/reference/assignmentCompatOnNew.types index 19994e61df8..a2c9500044a 100644 --- a/tests/baselines/reference/assignmentCompatOnNew.types +++ b/tests/baselines/reference/assignmentCompatOnNew.types @@ -5,7 +5,6 @@ class Foo{}; function bar(x: {new(): Foo;}){} >bar : (x: new () => Foo) => void >x : new () => Foo ->Foo : Foo bar(Foo); // Error, but should be allowed >bar(Foo) : void diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures.types b/tests/baselines/reference/assignmentCompatWithCallSignatures.types index f7faedf91e3..3d11a665035 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures.types +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures.types @@ -2,14 +2,11 @@ // void returning call signatures can be assigned a non-void returning call signature that otherwise matches interface T { ->T : T - (x: number): void; >x : number } var t: T; >t : T ->T : T var a: { (x: number): void }; >a : (x: number) => void @@ -26,14 +23,11 @@ a = t; >t : T interface S { ->S : S - (x: number): string; >x : number } var s: S; >s : S ->S : S var a2: { (x: number): string }; >a2 : (x: number) => string @@ -63,9 +57,7 @@ t = (x: T) => 1; >t = (x: T) => 1 : (x: T) => number >t : T >(x: T) => 1 : (x: T) => number ->T : T >x : T ->T : T >1 : 1 t = () => 1; @@ -85,9 +77,7 @@ a = (x: T) => 1; >a = (x: T) => 1 : (x: T) => number >a : (x: number) => void >(x: T) => 1 : (x: T) => number ->T : T >x : T ->T : T >1 : 1 a = () => 1; @@ -104,14 +94,11 @@ a = function (x: number) { return ''; } >'' : "" interface S2 { ->S2 : S2 - (x: string): void; >x : string } var s2: S2; >s2 : S2 ->S2 : S2 var a3: { (x: string): void }; >a3 : (x: string) => void diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures2.types b/tests/baselines/reference/assignmentCompatWithCallSignatures2.types index f20b03dbcce..e828d9170d6 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures2.types +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures2.types @@ -2,15 +2,12 @@ // void returning call signatures can be assigned a non-void returning call signature that otherwise matches interface T { ->T : T - f(x: number): void; >f : (x: number) => void >x : number } var t: T; >t : T ->T : T var a: { f(x: number): void }; >a : { f(x: number): void; } @@ -28,15 +25,12 @@ a = t; >t : T interface S { ->S : S - f(x: number): string; >f : (x: number) => string >x : number } var s: S; >s : S ->S : S var a2: { f(x: number): string }; >a2 : { f(x: number): string; } @@ -77,9 +71,7 @@ t = { f: (x:T) => 1 }; >{ f: (x:T) => 1 } : { f: (x: T) => number; } >f : (x: T) => number >(x:T) => 1 : (x: T) => number ->T : T >x : T ->T : T >1 : 1 t = { f: function f() { return 1 } }; @@ -113,9 +105,7 @@ a = { f: (x: T) => 1 }; >{ f: (x: T) => 1 } : { f: (x: T) => number; } >f : (x: T) => number >(x: T) => 1 : (x: T) => number ->T : T >x : T ->T : T >1 : 1 a = { f: function (x: number) { return ''; } } @@ -155,15 +145,12 @@ a = function (x: number) { return ''; } >'' : "" interface S2 { ->S2 : S2 - f(x: string): void; >f : (x: string) => void >x : string } var s2: S2; >s2 : S2 ->S2 : S2 var a3: { f(x: string): void }; >a3 : { f(x: string): void; } diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures3.types b/tests/baselines/reference/assignmentCompatWithCallSignatures3.types index 72cceae84ff..1301a2e2829 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures3.types +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures3.types @@ -46,53 +46,32 @@ var a6: (x: (arg: Base) => Derived) => Base; >a6 : (x: (arg: Base) => Derived) => Base >x : (arg: Base) => Derived >arg : Base ->Base : Base ->Derived : Derived ->Base : Base var a7: (x: (arg: Base) => Derived) => (r: Base) => Derived; >a7 : (x: (arg: Base) => Derived) => (r: Base) => Derived >x : (arg: Base) => Derived >arg : Base ->Base : Base ->Derived : Derived >r : Base ->Base : Base ->Derived : Derived var a8: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; >a8 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived >x : (arg: Base) => Derived >arg : Base ->Base : Base ->Derived : Derived >y : (arg2: Base) => Derived >arg2 : Base ->Base : Base ->Derived : Derived >r : Base ->Base : Base ->Derived : Derived var a9: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; >a9 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived >x : (arg: Base) => Derived >arg : Base ->Base : Base ->Derived : Derived >y : (arg2: Base) => Derived >arg2 : Base ->Base : Base ->Derived : Derived >r : Base ->Base : Base ->Derived : Derived var a10: (...x: Derived[]) => Derived; >a10 : (...x: Derived[]) => Derived >x : Derived[] ->Derived : Derived ->Derived : Derived var a11: (x: { foo: string }, y: { foo: string; bar: string }) => Base; >a11 : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base @@ -101,36 +80,22 @@ var a11: (x: { foo: string }, y: { foo: string; bar: string }) => Base; >y : { foo: string; bar: string; } >foo : string >bar : string ->Base : Base var a12: (x: Array, y: Array) => Array; >a12 : (x: Base[], y: Derived2[]) => Derived[] >x : Base[] ->Array : T[] ->Base : Base >y : Derived2[] ->Array : T[] ->Derived2 : Derived2 ->Array : T[] ->Derived : Derived var a13: (x: Array, y: Array) => Array; >a13 : (x: Base[], y: Derived[]) => Derived[] >x : Base[] ->Array : T[] ->Base : Base >y : Derived[] ->Array : T[] ->Derived : Derived ->Array : T[] ->Derived : Derived var a14: (x: { a: string; b: number }) => Object; >a14 : (x: { a: string; b: number; }) => Object >x : { a: string; b: number; } >a : string >b : number ->Object : Object var a15: { >a15 : { (x: number): number[]; (x: string): string[]; } @@ -145,16 +110,10 @@ var a16: { >a16 : { (x: T): number[]; (x: U): number[]; } (x: T): number[]; ->T : T ->Derived : Derived >x : T ->T : T (x: U): number[]; ->U : U ->Base : Base >x : U ->U : U } var a17: { >a17 : { (x: (a: number) => number): number[]; (x: (a: string) => string): string[]; } @@ -189,18 +148,13 @@ var a18: { (a: Date): Date; >a : Date ->Date : Date ->Date : Date }): any[]; } var b: (x: T) => T[]; >b : (x: T) => T[] ->T : T >x : T ->T : T ->T : T a = b; // ok >a = b : (x: T) => T[] @@ -214,9 +168,7 @@ b = a; // ok var b2: (x: T) => string[]; >b2 : (x: T) => string[] ->T : T >x : T ->T : T a2 = b2; // ok >a2 = b2 : (x: T) => string[] @@ -230,10 +182,7 @@ b2 = a2; // ok var b3: (x: T) => T; >b3 : (x: T) => T ->T : T >x : T ->T : T ->T : T a3 = b3; // ok >a3 = b3 : (x: T) => T @@ -247,13 +196,8 @@ b3 = a3; // ok var b4: (x: T, y: U) => T; >b4 : (x: T, y: U) => T ->T : T ->U : U >x : T ->T : T >y : U ->U : U ->T : T a4 = b4; // ok >a4 = b4 : (x: T, y: U) => T @@ -267,13 +211,8 @@ b4 = a4; // ok var b5: (x: (arg: T) => U) => T; >b5 : (x: (arg: T) => U) => T ->T : T ->U : U >x : (arg: T) => U >arg : T ->T : T ->U : U ->T : T a5 = b5; // ok >a5 = b5 : (x: (arg: T) => U) => T @@ -287,15 +226,8 @@ b5 = a5; // ok var b6: (x: (arg: T) => U) => T; >b6 : (x: (arg: T) => U) => T ->T : T ->Base : Base ->U : U ->Derived : Derived >x : (arg: T) => U >arg : T ->T : T ->U : U ->T : T a6 = b6; // ok >a6 = b6 : (x: (arg: T) => U) => T @@ -309,17 +241,9 @@ b6 = a6; // ok var b7: (x: (arg: T) => U) => (r: T) => U; >b7 : (x: (arg: T) => U) => (r: T) => U ->T : T ->Base : Base ->U : U ->Derived : Derived >x : (arg: T) => U >arg : T ->T : T ->U : U >r : T ->T : T ->U : U a7 = b7; // ok >a7 = b7 : (x: (arg: T) => U) => (r: T) => U @@ -333,21 +257,11 @@ b7 = a7; // ok var b8: (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U; >b8 : (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U ->T : T ->Base : Base ->U : U ->Derived : Derived >x : (arg: T) => U >arg : T ->T : T ->U : U >y : (arg2: T) => U >arg2 : T ->T : T ->U : U >r : T ->T : T ->U : U a8 = b8; // ok >a8 = b8 : (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U @@ -361,22 +275,13 @@ b8 = a8; // ok var b9: (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => U; >b9 : (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U ->T : T ->Base : Base ->U : U ->Derived : Derived >x : (arg: T) => U >arg : T ->T : T ->U : U >y : (arg2: { foo: string; bing: number; }) => U >arg2 : { foo: string; bing: number; } >foo : string >bing : number ->U : U >r : T ->T : T ->U : U a9 = b9; // ok >a9 = b9 : (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U @@ -390,11 +295,7 @@ b9 = a9; // ok var b10: (...x: T[]) => T; >b10 : (...x: T[]) => T ->T : T ->Derived : Derived >x : T[] ->T : T ->T : T a10 = b10; // ok >a10 = b10 : (...x: T[]) => T @@ -408,13 +309,8 @@ b10 = a10; // ok var b11: (x: T, y: T) => T; >b11 : (x: T, y: T) => T ->T : T ->Base : Base >x : T ->T : T >y : T ->T : T ->T : T a11 = b11; // ok >a11 = b11 : (x: T, y: T) => T @@ -428,16 +324,8 @@ b11 = a11; // ok var b12: >(x: Array, y: T) => Array; >b12 : (x: Base[], y: T) => Derived[] ->T : T ->Array : T[] ->Base : Base >x : Base[] ->Array : T[] ->Base : Base >y : T ->T : T ->Array : T[] ->Derived : Derived a12 = b12; // ok >a12 = b12 : (x: Base[], y: T) => Derived[] @@ -451,15 +339,8 @@ b12 = a12; // ok var b13: >(x: Array, y: T) => T; >b13 : (x: Base[], y: T) => T ->T : T ->Array : T[] ->Derived : Derived >x : Base[] ->Array : T[] ->Base : Base >y : T ->T : T ->T : T a13 = b13; // ok >a13 = b13 : (x: Base[], y: T) => T @@ -473,13 +354,9 @@ b13 = a13; // ok var b14: (x: { a: T; b: T }) => T; >b14 : (x: { a: T; b: T; }) => T ->T : T >x : { a: T; b: T; } >a : T ->T : T >b : T ->T : T ->T : T a14 = b14; // ok >a14 = b14 : (x: { a: T; b: T; }) => T @@ -493,10 +370,7 @@ b14 = a14; // ok var b15: (x: T) => T[]; >b15 : (x: T) => T[] ->T : T >x : T ->T : T ->T : T a15 = b15; // ok >a15 = b15 : (x: T) => T[] @@ -510,10 +384,7 @@ b15 = a15; // ok var b16: (x: T) => number[]; >b16 : (x: T) => number[] ->T : T ->Base : Base >x : T ->T : T a16 = b16; // ok >a16 = b16 : (x: T) => number[] @@ -527,12 +398,8 @@ b16 = a16; // ok var b17: (x: (a: T) => T) => T[]; // ok >b17 : (x: (a: T) => T) => T[] ->T : T >x : (a: T) => T >a : T ->T : T ->T : T ->T : T a17 = b17; // ok >a17 = b17 : (x: (a: T) => T) => T[] @@ -546,12 +413,8 @@ b17 = a17; // ok var b18: (x: (a: T) => T) => T[]; >b18 : (x: (a: T) => T) => T[] ->T : T >x : (a: T) => T >a : T ->T : T ->T : T ->T : T a18 = b18; // ok >a18 = b18 : (x: (a: T) => T) => T[] diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures4.types b/tests/baselines/reference/assignmentCompatWithCallSignatures4.types index 4e4f3a836df..351de0be4b9 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures4.types +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures4.types @@ -35,31 +35,19 @@ module Errors { >a7 : (x: (arg: Base) => Derived) => (r: Base) => Derived2 >x : (arg: Base) => Derived >arg : Base ->Base : Base ->Derived : Derived >r : Base ->Base : Base ->Derived2 : Derived2 var a8: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; >a8 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived >x : (arg: Base) => Derived >arg : Base ->Base : Base ->Derived : Derived >y : (arg2: Base) => Derived >arg2 : Base ->Base : Base ->Derived : Derived >r : Base ->Base : Base ->Derived : Derived var a10: (...x: Base[]) => Base; >a10 : (...x: Base[]) => Base >x : Base[] ->Base : Base ->Base : Base var a11: (x: { foo: string }, y: { foo: string; bar: string }) => Base; >a11 : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base @@ -68,18 +56,11 @@ module Errors { >y : { foo: string; bar: string; } >foo : string >bar : string ->Base : Base var a12: (x: Array, y: Array) => Array; >a12 : (x: Base[], y: Derived2[]) => Derived[] >x : Base[] ->Array : T[] ->Base : Base >y : Derived2[] ->Array : T[] ->Derived2 : Derived2 ->Array : T[] ->Derived : Derived var a14: { >a14 : { (x: number): number[]; (x: string): string[]; } @@ -128,47 +109,27 @@ module Errors { >x : { (a: T): T; (a: T): T; } (a: T): T; ->T : T ->Derived : Derived >a : T ->T : T ->T : T (a: T): T; ->T : T ->Base : Base >a : T ->T : T ->T : T }): any[]; (x: { >x : { (a: T): T; (a: T): T; } (a: T): T; ->T : T ->Derived2 : Derived2 >a : T ->T : T ->T : T (a: T): T; ->T : T ->Base : Base >a : T ->T : T ->T : T }): any[]; }; var b2: (x: T) => U[]; >b2 : (x: T) => U[] ->T : T ->U : U >x : T ->T : T ->U : U a2 = b2; >a2 = b2 : (x: T) => U[] @@ -182,19 +143,9 @@ module Errors { var b7: (x: (arg: T) => U) => (r: T) => V; >b7 : (x: (arg: T) => U) => (r: T) => V ->T : T ->Base : Base ->U : U ->Derived : Derived ->V : V ->Derived2 : Derived2 >x : (arg: T) => U >arg : T ->T : T ->U : U >r : T ->T : T ->V : V a7 = b7; >a7 = b7 : (x: (arg: T) => U) => (r: T) => V @@ -208,21 +159,12 @@ module Errors { var b8: (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U; >b8 : (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U ->T : T ->Base : Base ->U : U ->Derived : Derived >x : (arg: T) => U >arg : T ->T : T ->U : U >y : (arg2: { foo: number; }) => U >arg2 : { foo: number; } >foo : number ->U : U >r : T ->T : T ->U : U a8 = b8; // error, { foo: number } and Base are incompatible >a8 = b8 : (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U @@ -237,11 +179,7 @@ module Errors { var b10: (...x: T[]) => T; >b10 : (...x: T[]) => T ->T : T ->Derived : Derived >x : T[] ->T : T ->T : T a10 = b10; >a10 = b10 : (...x: T[]) => T @@ -255,13 +193,8 @@ module Errors { var b11: (x: T, y: T) => T; >b11 : (x: T, y: T) => T ->T : T ->Derived : Derived >x : T ->T : T >y : T ->T : T ->T : T a11 = b11; >a11 = b11 : (x: T, y: T) => T @@ -275,16 +208,8 @@ module Errors { var b12: >(x: Array, y: Array) => T; >b12 : (x: Base[], y: Base[]) => T ->T : T ->Array : T[] ->Derived2 : Derived2 >x : Base[] ->Array : T[] ->Base : Base >y : Base[] ->Array : T[] ->Base : Base ->T : T a12 = b12; >a12 = b12 : (x: Base[], y: Base[]) => T @@ -298,13 +223,9 @@ module Errors { var b15: (x: { a: T; b: T }) => T; >b15 : (x: { a: T; b: T; }) => T ->T : T >x : { a: T; b: T; } >a : T ->T : T >b : T ->T : T ->T : T a15 = b15; >a15 = b15 : (x: { a: T; b: T; }) => T @@ -318,13 +239,9 @@ module Errors { var b15a: (x: { a: T; b: T }) => number; >b15a : (x: { a: T; b: T; }) => number ->T : T ->Base : Base >x : { a: T; b: T; } >a : T ->T : T >b : T ->T : T a15 = b15a; >a15 = b15a : (x: { a: T; b: T; }) => number @@ -338,12 +255,8 @@ module Errors { var b16: (x: (a: T) => T) => T[]; >b16 : (x: (a: T) => T) => T[] ->T : T >x : (a: T) => T >a : T ->T : T ->T : T ->T : T a16 = b16; >a16 = b16 : (x: (a: T) => T) => T[] @@ -357,11 +270,8 @@ module Errors { var b17: (x: (a: T) => T) => any[]; >b17 : (x: (a: T) => T) => any[] ->T : T >x : (a: T) => T >a : T ->T : T ->T : T a17 = b17; >a17 = b17 : (x: (a: T) => T) => any[] @@ -380,16 +290,11 @@ module Errors { // target type has generic call signature var a2: (x: T) => T[]; >a2 : (x: T) => T[] ->T : T >x : T ->T : T ->T : T var b2: (x: T) => string[]; >b2 : (x: T) => string[] ->T : T >x : T ->T : T a2 = b2; >a2 = b2 : (x: T) => string[] @@ -404,16 +309,11 @@ module Errors { // target type has generic call signature var a3: (x: T) => string[]; >a3 : (x: T) => string[] ->T : T >x : T ->T : T var b3: (x: T) => T[]; >b3 : (x: T) => T[] ->T : T >x : T ->T : T ->T : T a3 = b3; >a3 = b3 : (x: T) => T[] diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures5.types b/tests/baselines/reference/assignmentCompatWithCallSignatures5.types index 2652a2a4e68..5492c477254 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures5.types +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures5.types @@ -22,106 +22,61 @@ class OtherDerived extends Base { bing: string; } var a: (x: T) => T[]; >a : (x: T) => T[] ->T : T >x : T ->T : T ->T : T var a2: (x: T) => string[]; >a2 : (x: T) => string[] ->T : T >x : T ->T : T var a3: (x: T) => void; >a3 : (x: T) => void ->T : T >x : T ->T : T var a4: (x: T, y: U) => string; >a4 : (x: T, y: U) => string ->T : T ->U : U >x : T ->T : T >y : U ->U : U var a5: (x: (arg: T) => U) => T; >a5 : (x: (arg: T) => U) => T ->T : T ->U : U >x : (arg: T) => U >arg : T ->T : T ->U : U ->T : T var a6: (x: (arg: T) => Derived) => T; >a6 : (x: (arg: T) => Derived) => T ->T : T ->Base : Base >x : (arg: T) => Derived >arg : T ->T : T ->Derived : Derived ->T : T var a11: (x: { foo: T }, y: { foo: T; bar: T }) => Base; >a11 : (x: { foo: T; }, y: { foo: T; bar: T; }) => Base ->T : T >x : { foo: T; } >foo : T ->T : T >y : { foo: T; bar: T; } >foo : T ->T : T >bar : T ->T : T ->Base : Base var a15: (x: { a: T; b: T }) => T[]; >a15 : (x: { a: T; b: T; }) => T[] ->T : T >x : { a: T; b: T; } >a : T ->T : T >b : T ->T : T ->T : T var a16: (x: { a: T; b: T }) => T[]; >a16 : (x: { a: T; b: T; }) => T[] ->T : T ->Base : Base >x : { a: T; b: T; } >a : T ->T : T >b : T ->T : T ->T : T var a17: { >a17 : { (x: (a: T) => T): T[]; (x: (a: T) => T): T[]; } (x: (a: T) => T): T[]; ->T : T ->Derived : Derived >x : (a: T) => T >a : T ->T : T ->T : T ->T : T (x: (a: T) => T): T[]; ->T : T ->Base : Base >x : (a: T) => T >a : T ->T : T ->T : T ->T : T }; var a18: { @@ -131,46 +86,27 @@ var a18: { >x : { (a: T): T; (a: T): T; } (a: T): T; ->T : T ->Derived : Derived >a : T ->T : T ->T : T (a: T): T; ->T : T ->Base : Base >a : T ->T : T ->T : T }): any[]; (x: { >x : { (a: T): T; (a: T): T; } (a: T): T; ->T : T ->Derived2 : Derived2 >a : T ->T : T ->T : T (a: T): T; ->T : T ->Base : Base >a : T ->T : T ->T : T }): any[]; }; var b: (x: T) => T[]; >b : (x: T) => T[] ->T : T >x : T ->T : T ->T : T a = b; // ok >a = b : (x: T) => T[] @@ -184,9 +120,7 @@ b = a; // ok var b2: (x: T) => string[]; >b2 : (x: T) => string[] ->T : T >x : T ->T : T a2 = b2; // ok >a2 = b2 : (x: T) => string[] @@ -200,10 +134,7 @@ b2 = a2; // ok var b3: (x: T) => T; >b3 : (x: T) => T ->T : T >x : T ->T : T ->T : T a3 = b3; // ok >a3 = b3 : (x: T) => T @@ -217,12 +148,8 @@ b3 = a3; // ok var b4: (x: T, y: U) => string; >b4 : (x: T, y: U) => string ->T : T ->U : U >x : T ->T : T >y : U ->U : U a4 = b4; // ok >a4 = b4 : (x: T, y: U) => string @@ -236,13 +163,8 @@ b4 = a4; // ok var b5: (x: (arg: T) => U) => T; >b5 : (x: (arg: T) => U) => T ->T : T ->U : U >x : (arg: T) => U >arg : T ->T : T ->U : U ->T : T a5 = b5; // ok >a5 = b5 : (x: (arg: T) => U) => T @@ -256,15 +178,8 @@ b5 = a5; // ok var b6: (x: (arg: T) => U) => T; >b6 : (x: (arg: T) => U) => T ->T : T ->Base : Base ->U : U ->Derived : Derived >x : (arg: T) => U >arg : T ->T : T ->U : U ->T : T a6 = b6; // ok >a6 = b6 : (x: (arg: T) => U) => T @@ -278,17 +193,11 @@ b6 = a6; // ok var b11: (x: { foo: T }, y: { foo: U; bar: U }) => Base; >b11 : (x: { foo: T; }, y: { foo: U; bar: U; }) => Base ->T : T ->U : U >x : { foo: T; } >foo : T ->T : T >y : { foo: U; bar: U; } >foo : U ->U : U >bar : U ->U : U ->Base : Base a11 = b11; // ok >a11 = b11 : (x: { foo: T; }, y: { foo: U; bar: U; }) => Base @@ -302,14 +211,9 @@ b11 = a11; // ok var b15: (x: { a: U; b: V; }) => U[]; >b15 : (x: { a: U; b: V; }) => U[] ->U : U ->V : V >x : { a: U; b: V; } >a : U ->U : U >b : V ->V : V ->U : U a15 = b15; // ok, T = U, T = V >a15 = b15 : (x: { a: U; b: V; }) => U[] @@ -323,13 +227,9 @@ b15 = a15; // ok var b16: (x: { a: T; b: T }) => T[]; >b16 : (x: { a: T; b: T; }) => T[] ->T : T >x : { a: T; b: T; } >a : T ->T : T >b : T ->T : T ->T : T a15 = b16; // ok >a15 = b16 : (x: { a: T; b: T; }) => T[] @@ -343,12 +243,8 @@ b15 = a16; // ok var b17: (x: (a: T) => T) => T[]; >b17 : (x: (a: T) => T) => T[] ->T : T >x : (a: T) => T >a : T ->T : T ->T : T ->T : T a17 = b17; // ok >a17 = b17 : (x: (a: T) => T) => T[] @@ -363,10 +259,7 @@ b17 = a17; // ok var b18: (x: (a: T) => T) => any[]; >b18 : (x: (a: T) => T) => any[] >x : (a: T) => T ->T : T >a : T ->T : T ->T : T a18 = b18; // ok >a18 = b18 : (x: (a: T) => T) => any[] diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures6.types b/tests/baselines/reference/assignmentCompatWithCallSignatures6.types index b45f3357942..aa7a3839f2a 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures6.types +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures6.types @@ -21,101 +21,60 @@ class OtherDerived extends Base { bing: string; } >bing : string interface A { ->A : A - a: (x: T) => T[]; >a : (x: T) => T[] ->T : T >x : T ->T : T ->T : T a2: (x: T) => string[]; >a2 : (x: T) => string[] ->T : T >x : T ->T : T a3: (x: T) => void; >a3 : (x: T) => void ->T : T >x : T ->T : T a4: (x: T, y: U) => string; >a4 : (x: T, y: U) => string ->T : T ->U : U >x : T ->T : T >y : U ->U : U a5: (x: (arg: T) => U) => T; >a5 : (x: (arg: T) => U) => T ->T : T ->U : U >x : (arg: T) => U >arg : T ->T : T ->U : U ->T : T a6: (x: (arg: T) => Derived) => T; >a6 : (x: (arg: T) => Derived) => T ->T : T ->Base : Base >x : (arg: T) => Derived >arg : T ->T : T ->Derived : Derived ->T : T a11: (x: { foo: T }, y: { foo: T; bar: T }) => Base; >a11 : (x: { foo: T; }, y: { foo: T; bar: T; }) => Base ->T : T >x : { foo: T; } >foo : T ->T : T >y : { foo: T; bar: T; } >foo : T ->T : T >bar : T ->T : T ->Base : Base a15: (x: { a: T; b: T }) => T[]; >a15 : (x: { a: T; b: T; }) => T[] ->T : T >x : { a: T; b: T; } >a : T ->T : T >b : T ->T : T ->T : T a16: (x: { a: T; b: T }) => T[]; >a16 : (x: { a: T; b: T; }) => T[] ->T : T ->Base : Base >x : { a: T; b: T; } >a : T ->T : T >b : T ->T : T ->T : T } var x: A; >x : A ->A : A var b: (x: T) => T[]; >b : (x: T) => T[] ->T : T >x : T ->T : T ->T : T x.a = b; >x.a = b : (x: T) => T[] @@ -133,9 +92,7 @@ b = x.a; var b2: (x: T) => string[]; >b2 : (x: T) => string[] ->T : T >x : T ->T : T x.a2 = b2; >x.a2 = b2 : (x: T) => string[] @@ -153,10 +110,7 @@ b2 = x.a2; var b3: (x: T) => T; >b3 : (x: T) => T ->T : T >x : T ->T : T ->T : T x.a3 = b3; >x.a3 = b3 : (x: T) => T @@ -174,12 +128,8 @@ b3 = x.a3; var b4: (x: T, y: U) => string; >b4 : (x: T, y: U) => string ->T : T ->U : U >x : T ->T : T >y : U ->U : U x.a4 = b4; >x.a4 = b4 : (x: T, y: U) => string @@ -197,13 +147,8 @@ b4 = x.a4; var b5: (x: (arg: T) => U) => T; >b5 : (x: (arg: T) => U) => T ->T : T ->U : U >x : (arg: T) => U >arg : T ->T : T ->U : U ->T : T x.a5 = b5; >x.a5 = b5 : (x: (arg: T) => U) => T @@ -221,17 +166,11 @@ b5 = x.a5; var b11: (x: { foo: T }, y: { foo: U; bar: U }) => Base; >b11 : (x: { foo: T; }, y: { foo: U; bar: U; }) => Base ->T : T ->U : U >x : { foo: T; } >foo : T ->T : T >y : { foo: U; bar: U; } >foo : U ->U : U >bar : U ->U : U ->Base : Base x.a11 = b11; >x.a11 = b11 : (x: { foo: T; }, y: { foo: U; bar: U; }) => Base @@ -249,13 +188,9 @@ b11 = x.a11; var b16: (x: { a: T; b: T }) => T[]; >b16 : (x: { a: T; b: T; }) => T[] ->T : T >x : { a: T; b: T; } >a : T ->T : T >b : T ->T : T ->T : T x.a16 = b16; >x.a16 = b16 : (x: { a: T; b: T; }) => T[] diff --git a/tests/baselines/reference/assignmentCompatWithCallSignaturesWithOptionalParameters.types b/tests/baselines/reference/assignmentCompatWithCallSignaturesWithOptionalParameters.types index 1bb87d3255f..95ca5cb4dc3 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignaturesWithOptionalParameters.types +++ b/tests/baselines/reference/assignmentCompatWithCallSignaturesWithOptionalParameters.types @@ -2,8 +2,6 @@ // call signatures in derived types must have the same or fewer optional parameters as the base type interface Base { ->Base : Base - a: () => number; >a : () => number @@ -32,7 +30,6 @@ interface Base { } var b: Base; >b : Base ->Base : Base var a: () => number; >a : () => number diff --git a/tests/baselines/reference/assignmentCompatWithCallSignaturesWithRestParameters.types b/tests/baselines/reference/assignmentCompatWithCallSignaturesWithRestParameters.types index a2c726527cb..44719238f82 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignaturesWithRestParameters.types +++ b/tests/baselines/reference/assignmentCompatWithCallSignaturesWithRestParameters.types @@ -2,8 +2,6 @@ // call signatures in derived types must have the same or fewer optional parameters as the target for assignment interface Base { ->Base : Base - a: (...args: number[]) => number; >a : (...args: number[]) => number >args : number[] diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures.types b/tests/baselines/reference/assignmentCompatWithConstructSignatures.types index 038988807e5..e331da983af 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures.types +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures.types @@ -2,14 +2,11 @@ // void returning call signatures can be assigned a non-void returning call signature that otherwise matches interface T { ->T : T - new (x: number): void; >x : number } var t: T; >t : T ->T : T var a: { new (x: number): void }; >a : new (x: number) => void @@ -26,14 +23,11 @@ a = t; >t : T interface S { ->S : S - new (x: number): string; >x : number } var s: S; >s : S ->S : S var a2: { new (x: number): string }; >a2 : new (x: number) => string @@ -60,14 +54,11 @@ a = a2; >a2 : new (x: number) => string interface S2 { ->S2 : S2 - (x: string): void; >x : string } var s2: S2; >s2 : S2 ->S2 : S2 var a3: { (x: string): void }; >a3 : (x: string) => void diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures2.types b/tests/baselines/reference/assignmentCompatWithConstructSignatures2.types index f797dcf83fa..08b45447a05 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures2.types +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures2.types @@ -2,15 +2,12 @@ // void returning call signatures can be assigned a non-void returning call signature that otherwise matches interface T { ->T : T - f: new (x: number) => void; >f : new (x: number) => void >x : number } var t: T; >t : T ->T : T var a: { f: new (x: number) => void }; >a : { f: new (x: number) => void; } @@ -28,15 +25,12 @@ a = t; >t : T interface S { ->S : S - f: new (x: number) => string; >f : new (x: number) => string >x : number } var s: S; >s : S ->S : S var a2: { f: new (x: number) => string }; >a2 : { f: new (x: number) => string; } @@ -91,15 +85,12 @@ a = function (x: number) { return ''; } >'' : "" interface S2 { ->S2 : S2 - f(x: string): void; >f : (x: string) => void >x : string } var s2: S2; >s2 : S2 ->S2 : S2 var a3: { f(x: string): void }; >a3 : { f(x: string): void; } diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures3.types b/tests/baselines/reference/assignmentCompatWithConstructSignatures3.types index 807f31b0e6e..ead3b46ea33 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures3.types +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures3.types @@ -46,53 +46,32 @@ var a6: new (x: (arg: Base) => Derived) => Base; >a6 : new (x: (arg: Base) => Derived) => Base >x : (arg: Base) => Derived >arg : Base ->Base : Base ->Derived : Derived ->Base : Base var a7: new (x: (arg: Base) => Derived) => (r: Base) => Derived; >a7 : new (x: (arg: Base) => Derived) => (r: Base) => Derived >x : (arg: Base) => Derived >arg : Base ->Base : Base ->Derived : Derived >r : Base ->Base : Base ->Derived : Derived var a8: new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; >a8 : new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived >x : (arg: Base) => Derived >arg : Base ->Base : Base ->Derived : Derived >y : (arg2: Base) => Derived >arg2 : Base ->Base : Base ->Derived : Derived >r : Base ->Base : Base ->Derived : Derived var a9: new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; >a9 : new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived >x : (arg: Base) => Derived >arg : Base ->Base : Base ->Derived : Derived >y : (arg2: Base) => Derived >arg2 : Base ->Base : Base ->Derived : Derived >r : Base ->Base : Base ->Derived : Derived var a10: new (...x: Derived[]) => Derived; >a10 : new (...x: Derived[]) => Derived >x : Derived[] ->Derived : Derived ->Derived : Derived var a11: new (x: { foo: string }, y: { foo: string; bar: string }) => Base; >a11 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base @@ -101,36 +80,22 @@ var a11: new (x: { foo: string }, y: { foo: string; bar: string }) => Base; >y : { foo: string; bar: string; } >foo : string >bar : string ->Base : Base var a12: new (x: Array, y: Array) => Array; >a12 : new (x: Base[], y: Derived2[]) => Derived[] >x : Base[] ->Array : T[] ->Base : Base >y : Derived2[] ->Array : T[] ->Derived2 : Derived2 ->Array : T[] ->Derived : Derived var a13: new (x: Array, y: Array) => Array; >a13 : new (x: Base[], y: Derived[]) => Derived[] >x : Base[] ->Array : T[] ->Base : Base >y : Derived[] ->Array : T[] ->Derived : Derived ->Array : T[] ->Derived : Derived var a14: new (x: { a: string; b: number }) => Object; >a14 : new (x: { a: string; b: number; }) => Object >x : { a: string; b: number; } >a : string >b : number ->Object : Object var a15: { >a15 : { new (x: number): number[]; new (x: string): string[]; } @@ -145,16 +110,10 @@ var a16: { >a16 : { new (x: T): number[]; new (x: U): number[]; } new (x: T): number[]; ->T : T ->Derived : Derived >x : T ->T : T new (x: U): number[]; ->U : U ->Base : Base >x : U ->U : U } var a17: { >a17 : { new (x: new (a: number) => number): number[]; new (x: new (a: string) => string): string[]; } @@ -189,18 +148,13 @@ var a18: { new (a: Date): Date; >a : Date ->Date : Date ->Date : Date }): any[]; } var b: new (x: T) => T[]; >b : new (x: T) => T[] ->T : T >x : T ->T : T ->T : T a = b; // ok >a = b : new (x: T) => T[] @@ -214,9 +168,7 @@ b = a; // ok var b2: new (x: T) => string[]; >b2 : new (x: T) => string[] ->T : T >x : T ->T : T a2 = b2; // ok >a2 = b2 : new (x: T) => string[] @@ -230,10 +182,7 @@ b2 = a2; // ok var b3: new (x: T) => T; >b3 : new (x: T) => T ->T : T >x : T ->T : T ->T : T a3 = b3; // ok >a3 = b3 : new (x: T) => T @@ -247,13 +196,8 @@ b3 = a3; // ok var b4: new (x: T, y: U) => T; >b4 : new (x: T, y: U) => T ->T : T ->U : U >x : T ->T : T >y : U ->U : U ->T : T a4 = b4; // ok >a4 = b4 : new (x: T, y: U) => T @@ -267,13 +211,8 @@ b4 = a4; // ok var b5: new (x: (arg: T) => U) => T; >b5 : new (x: (arg: T) => U) => T ->T : T ->U : U >x : (arg: T) => U >arg : T ->T : T ->U : U ->T : T a5 = b5; // ok >a5 = b5 : new (x: (arg: T) => U) => T @@ -287,15 +226,8 @@ b5 = a5; // ok var b6: new (x: (arg: T) => U) => T; >b6 : new (x: (arg: T) => U) => T ->T : T ->Base : Base ->U : U ->Derived : Derived >x : (arg: T) => U >arg : T ->T : T ->U : U ->T : T a6 = b6; // ok >a6 = b6 : new (x: (arg: T) => U) => T @@ -309,17 +241,9 @@ b6 = a6; // ok var b7: new (x: (arg: T) => U) => (r: T) => U; >b7 : new (x: (arg: T) => U) => (r: T) => U ->T : T ->Base : Base ->U : U ->Derived : Derived >x : (arg: T) => U >arg : T ->T : T ->U : U >r : T ->T : T ->U : U a7 = b7; // ok >a7 = b7 : new (x: (arg: T) => U) => (r: T) => U @@ -333,21 +257,11 @@ b7 = a7; // ok var b8: new (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U; >b8 : new (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U ->T : T ->Base : Base ->U : U ->Derived : Derived >x : (arg: T) => U >arg : T ->T : T ->U : U >y : (arg2: T) => U >arg2 : T ->T : T ->U : U >r : T ->T : T ->U : U a8 = b8; // ok >a8 = b8 : new (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U @@ -361,22 +275,13 @@ b8 = a8; // ok var b9: new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => U; >b9 : new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U ->T : T ->Base : Base ->U : U ->Derived : Derived >x : (arg: T) => U >arg : T ->T : T ->U : U >y : (arg2: { foo: string; bing: number; }) => U >arg2 : { foo: string; bing: number; } >foo : string >bing : number ->U : U >r : T ->T : T ->U : U a9 = b9; // ok >a9 = b9 : new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U @@ -390,11 +295,7 @@ b9 = a9; // ok var b10: new (...x: T[]) => T; >b10 : new (...x: T[]) => T ->T : T ->Derived : Derived >x : T[] ->T : T ->T : T a10 = b10; // ok >a10 = b10 : new (...x: T[]) => T @@ -408,13 +309,8 @@ b10 = a10; // ok var b11: new (x: T, y: T) => T; >b11 : new (x: T, y: T) => T ->T : T ->Base : Base >x : T ->T : T >y : T ->T : T ->T : T a11 = b11; // ok >a11 = b11 : new (x: T, y: T) => T @@ -428,16 +324,8 @@ b11 = a11; // ok var b12: new >(x: Array, y: T) => Array; >b12 : new (x: Base[], y: T) => Derived[] ->T : T ->Array : T[] ->Base : Base >x : Base[] ->Array : T[] ->Base : Base >y : T ->T : T ->Array : T[] ->Derived : Derived a12 = b12; // ok >a12 = b12 : new (x: Base[], y: T) => Derived[] @@ -451,15 +339,8 @@ b12 = a12; // ok var b13: new >(x: Array, y: T) => T; >b13 : new (x: Base[], y: T) => T ->T : T ->Array : T[] ->Derived : Derived >x : Base[] ->Array : T[] ->Base : Base >y : T ->T : T ->T : T a13 = b13; // ok >a13 = b13 : new (x: Base[], y: T) => T @@ -473,13 +354,9 @@ b13 = a13; // ok var b14: new (x: { a: T; b: T }) => T; >b14 : new (x: { a: T; b: T; }) => T ->T : T >x : { a: T; b: T; } >a : T ->T : T >b : T ->T : T ->T : T a14 = b14; // ok >a14 = b14 : new (x: { a: T; b: T; }) => T @@ -493,10 +370,7 @@ b14 = a14; // ok var b15: new (x: T) => T[]; >b15 : new (x: T) => T[] ->T : T >x : T ->T : T ->T : T a15 = b15; // ok >a15 = b15 : new (x: T) => T[] @@ -510,10 +384,7 @@ b15 = a15; // ok var b16: new (x: T) => number[]; >b16 : new (x: T) => number[] ->T : T ->Base : Base >x : T ->T : T a16 = b16; // ok >a16 = b16 : new (x: T) => number[] @@ -527,12 +398,8 @@ b16 = a16; // ok var b17: new (x: new (a: T) => T) => T[]; // ok >b17 : new (x: new (a: T) => T) => T[] ->T : T >x : new (a: T) => T >a : T ->T : T ->T : T ->T : T a17 = b17; // ok >a17 = b17 : new (x: new (a: T) => T) => T[] @@ -546,12 +413,8 @@ b17 = a17; // ok var b18: new (x: new (a: T) => T) => T[]; >b18 : new (x: new (a: T) => T) => T[] ->T : T >x : new (a: T) => T >a : T ->T : T ->T : T ->T : T a18 = b18; // ok >a18 = b18 : new (x: new (a: T) => T) => T[] diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures4.types b/tests/baselines/reference/assignmentCompatWithConstructSignatures4.types index 1844e5ac657..beba928bd18 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures4.types +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures4.types @@ -35,31 +35,19 @@ module Errors { >a7 : new (x: (arg: Base) => Derived) => (r: Base) => Derived2 >x : (arg: Base) => Derived >arg : Base ->Base : Base ->Derived : Derived >r : Base ->Base : Base ->Derived2 : Derived2 var a8: new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; >a8 : new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived >x : (arg: Base) => Derived >arg : Base ->Base : Base ->Derived : Derived >y : (arg2: Base) => Derived >arg2 : Base ->Base : Base ->Derived : Derived >r : Base ->Base : Base ->Derived : Derived var a10: new (...x: Base[]) => Base; >a10 : new (...x: Base[]) => Base >x : Base[] ->Base : Base ->Base : Base var a11: new (x: { foo: string }, y: { foo: string; bar: string }) => Base; >a11 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base @@ -68,18 +56,11 @@ module Errors { >y : { foo: string; bar: string; } >foo : string >bar : string ->Base : Base var a12: new (x: Array, y: Array) => Array; >a12 : new (x: Base[], y: Derived2[]) => Derived[] >x : Base[] ->Array : T[] ->Base : Base >y : Derived2[] ->Array : T[] ->Derived2 : Derived2 ->Array : T[] ->Derived : Derived var a14: { >a14 : { new (x: number): number[]; new (x: string): string[]; } @@ -128,47 +109,27 @@ module Errors { >x : { new (a: T): T; new (a: T): T; } new (a: T): T; ->T : T ->Derived : Derived >a : T ->T : T ->T : T new (a: T): T; ->T : T ->Base : Base >a : T ->T : T ->T : T }): any[]; new (x: { >x : { new (a: T): T; new (a: T): T; } new (a: T): T; ->T : T ->Derived2 : Derived2 >a : T ->T : T ->T : T new (a: T): T; ->T : T ->Base : Base >a : T ->T : T ->T : T }): any[]; }; var b2: new (x: T) => U[]; >b2 : new (x: T) => U[] ->T : T ->U : U >x : T ->T : T ->U : U a2 = b2; // ok >a2 = b2 : new (x: T) => U[] @@ -182,19 +143,9 @@ module Errors { var b7: new (x: (arg: T) => U) => (r: T) => V; >b7 : new (x: (arg: T) => U) => (r: T) => V ->T : T ->Base : Base ->U : U ->Derived : Derived ->V : V ->Derived2 : Derived2 >x : (arg: T) => U >arg : T ->T : T ->U : U >r : T ->T : T ->V : V a7 = b7; // ok >a7 = b7 : new (x: (arg: T) => U) => (r: T) => V @@ -208,21 +159,12 @@ module Errors { var b8: new (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U; >b8 : new (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U ->T : T ->Base : Base ->U : U ->Derived : Derived >x : (arg: T) => U >arg : T ->T : T ->U : U >y : (arg2: { foo: number; }) => U >arg2 : { foo: number; } >foo : number ->U : U >r : T ->T : T ->U : U a8 = b8; // error, type mismatch >a8 = b8 : new (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U @@ -237,11 +179,7 @@ module Errors { var b10: new (...x: T[]) => T; >b10 : new (...x: T[]) => T ->T : T ->Derived : Derived >x : T[] ->T : T ->T : T a10 = b10; // ok >a10 = b10 : new (...x: T[]) => T @@ -255,13 +193,8 @@ module Errors { var b11: new (x: T, y: T) => T; >b11 : new (x: T, y: T) => T ->T : T ->Derived : Derived >x : T ->T : T >y : T ->T : T ->T : T a11 = b11; // ok >a11 = b11 : new (x: T, y: T) => T @@ -275,16 +208,8 @@ module Errors { var b12: new >(x: Array, y: Array) => T; >b12 : new (x: Base[], y: Base[]) => T ->T : T ->Array : T[] ->Derived2 : Derived2 >x : Base[] ->Array : T[] ->Base : Base >y : Base[] ->Array : T[] ->Base : Base ->T : T a12 = b12; // ok >a12 = b12 : new (x: Base[], y: Base[]) => T @@ -298,13 +223,9 @@ module Errors { var b15: new (x: { a: T; b: T }) => T; >b15 : new (x: { a: T; b: T; }) => T ->T : T >x : { a: T; b: T; } >a : T ->T : T >b : T ->T : T ->T : T a15 = b15; // ok >a15 = b15 : new (x: { a: T; b: T; }) => T @@ -318,13 +239,9 @@ module Errors { var b15a: new (x: { a: T; b: T }) => number; >b15a : new (x: { a: T; b: T; }) => number ->T : T ->Base : Base >x : { a: T; b: T; } >a : T ->T : T >b : T ->T : T a15 = b15a; // ok >a15 = b15a : new (x: { a: T; b: T; }) => number @@ -338,12 +255,8 @@ module Errors { var b16: new (x: (a: T) => T) => T[]; >b16 : new (x: (a: T) => T) => T[] ->T : T >x : (a: T) => T >a : T ->T : T ->T : T ->T : T a16 = b16; // error >a16 = b16 : new (x: (a: T) => T) => T[] @@ -357,11 +270,8 @@ module Errors { var b17: new (x: (a: T) => T) => any[]; >b17 : new (x: (a: T) => T) => any[] ->T : T >x : (a: T) => T >a : T ->T : T ->T : T a17 = b17; // error >a17 = b17 : new (x: (a: T) => T) => any[] @@ -380,16 +290,11 @@ module Errors { // target type has generic call signature var a2: new (x: T) => T[]; >a2 : new (x: T) => T[] ->T : T >x : T ->T : T ->T : T var b2: new (x: T) => string[]; >b2 : new (x: T) => string[] ->T : T >x : T ->T : T a2 = b2; // ok >a2 = b2 : new (x: T) => string[] @@ -404,16 +309,11 @@ module Errors { // target type has generic call signature var a3: new (x: T) => string[]; >a3 : new (x: T) => string[] ->T : T >x : T ->T : T var b3: new (x: T) => T[]; >b3 : new (x: T) => T[] ->T : T >x : T ->T : T ->T : T a3 = b3; // ok >a3 = b3 : new (x: T) => T[] diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures5.types b/tests/baselines/reference/assignmentCompatWithConstructSignatures5.types index 6e6a1457a76..1190d9a75b6 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures5.types +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures5.types @@ -22,106 +22,61 @@ class OtherDerived extends Base { bing: string; } var a: new (x: T) => T[]; >a : new (x: T) => T[] ->T : T >x : T ->T : T ->T : T var a2: new (x: T) => string[]; >a2 : new (x: T) => string[] ->T : T >x : T ->T : T var a3: new (x: T) => void; >a3 : new (x: T) => void ->T : T >x : T ->T : T var a4: new (x: T, y: U) => string; >a4 : new (x: T, y: U) => string ->T : T ->U : U >x : T ->T : T >y : U ->U : U var a5: new (x: new (arg: T) => U) => T; >a5 : new (x: new (arg: T) => U) => T ->T : T ->U : U >x : new (arg: T) => U >arg : T ->T : T ->U : U ->T : T var a6: new (x: new (arg: T) => Derived) => T; >a6 : new (x: new (arg: T) => Derived) => T ->T : T ->Base : Base >x : new (arg: T) => Derived >arg : T ->T : T ->Derived : Derived ->T : T var a11: new (x: { foo: T }, y: { foo: T; bar: T }) => Base; >a11 : new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base ->T : T >x : { foo: T; } >foo : T ->T : T >y : { foo: T; bar: T; } >foo : T ->T : T >bar : T ->T : T ->Base : Base var a15: new (x: { a: T; b: T }) => T[]; >a15 : new (x: { a: T; b: T; }) => T[] ->T : T >x : { a: T; b: T; } >a : T ->T : T >b : T ->T : T ->T : T var a16: new (x: { a: T; b: T }) => T[]; >a16 : new (x: { a: T; b: T; }) => T[] ->T : T ->Base : Base >x : { a: T; b: T; } >a : T ->T : T >b : T ->T : T ->T : T var a17: { >a17 : { new (x: new (a: T) => T): T[]; new (x: new (a: T) => T): T[]; } new (x: new (a: T) => T): T[]; ->T : T ->Derived : Derived >x : new (a: T) => T >a : T ->T : T ->T : T ->T : T new (x: new (a: T) => T): T[]; ->T : T ->Base : Base >x : new (a: T) => T >a : T ->T : T ->T : T ->T : T }; var a18: { @@ -131,46 +86,27 @@ var a18: { >x : { new (a: T): T; new (a: T): T; } new (a: T): T; ->T : T ->Derived : Derived >a : T ->T : T ->T : T new (a: T): T; ->T : T ->Base : Base >a : T ->T : T ->T : T }): any[]; new (x: { >x : { new (a: T): T; new (a: T): T; } new (a: T): T; ->T : T ->Derived2 : Derived2 >a : T ->T : T ->T : T new (a: T): T; ->T : T ->Base : Base >a : T ->T : T ->T : T }): any[]; }; var b: new (x: T) => T[]; >b : new (x: T) => T[] ->T : T >x : T ->T : T ->T : T a = b; // ok >a = b : new (x: T) => T[] @@ -184,9 +120,7 @@ b = a; // ok var b2: new (x: T) => string[]; >b2 : new (x: T) => string[] ->T : T >x : T ->T : T a2 = b2; // ok >a2 = b2 : new (x: T) => string[] @@ -200,10 +134,7 @@ b2 = a2; // ok var b3: new (x: T) => T; >b3 : new (x: T) => T ->T : T >x : T ->T : T ->T : T a3 = b3; // ok >a3 = b3 : new (x: T) => T @@ -217,12 +148,8 @@ b3 = a3; // ok var b4: new (x: T, y: U) => string; >b4 : new (x: T, y: U) => string ->T : T ->U : U >x : T ->T : T >y : U ->U : U a4 = b4; // ok >a4 = b4 : new (x: T, y: U) => string @@ -236,13 +163,8 @@ b4 = a4; // ok var b5: new (x: new (arg: T) => U) => T; >b5 : new (x: new (arg: T) => U) => T ->T : T ->U : U >x : new (arg: T) => U >arg : T ->T : T ->U : U ->T : T a5 = b5; // ok >a5 = b5 : new (x: new (arg: T) => U) => T @@ -256,15 +178,8 @@ b5 = a5; // ok var b6: new (x: new (arg: T) => U) => T; >b6 : new (x: new (arg: T) => U) => T ->T : T ->Base : Base ->U : U ->Derived : Derived >x : new (arg: T) => U >arg : T ->T : T ->U : U ->T : T a6 = b6; // ok >a6 = b6 : new (x: new (arg: T) => U) => T @@ -278,17 +193,11 @@ b6 = a6; // ok var b11: new (x: { foo: T }, y: { foo: U; bar: U }) => Base; >b11 : new (x: { foo: T; }, y: { foo: U; bar: U; }) => Base ->T : T ->U : U >x : { foo: T; } >foo : T ->T : T >y : { foo: U; bar: U; } >foo : U ->U : U >bar : U ->U : U ->Base : Base a11 = b11; // ok >a11 = b11 : new (x: { foo: T; }, y: { foo: U; bar: U; }) => Base @@ -302,14 +211,9 @@ b11 = a11; // ok var b15: new (x: { a: U; b: V; }) => U[]; >b15 : new (x: { a: U; b: V; }) => U[] ->U : U ->V : V >x : { a: U; b: V; } >a : U ->U : U >b : V ->V : V ->U : U a15 = b15; // ok >a15 = b15 : new (x: { a: U; b: V; }) => U[] @@ -323,13 +227,9 @@ b15 = a15; // ok var b16: new (x: { a: T; b: T }) => T[]; >b16 : new (x: { a: T; b: T; }) => T[] ->T : T >x : { a: T; b: T; } >a : T ->T : T >b : T ->T : T ->T : T a15 = b16; // ok >a15 = b16 : new (x: { a: T; b: T; }) => T[] @@ -343,12 +243,8 @@ b15 = a16; // ok var b17: new (x: new (a: T) => T) => T[]; >b17 : new (x: new (a: T) => T) => T[] ->T : T >x : new (a: T) => T >a : T ->T : T ->T : T ->T : T a17 = b17; // ok >a17 = b17 : new (x: new (a: T) => T) => T[] @@ -363,10 +259,7 @@ b17 = a17; // ok var b18: new (x: new (a: T) => T) => any[]; >b18 : new (x: new (a: T) => T) => any[] >x : new (a: T) => T ->T : T >a : T ->T : T ->T : T a18 = b18; // ok >a18 = b18 : new (x: new (a: T) => T) => any[] diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures6.types b/tests/baselines/reference/assignmentCompatWithConstructSignatures6.types index 74a20b9b21e..bd4992a599a 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures6.types +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures6.types @@ -21,101 +21,60 @@ class OtherDerived extends Base { bing: string; } >bing : string interface A { ->A : A - a: new (x: T) => T[]; >a : new (x: T) => T[] ->T : T >x : T ->T : T ->T : T a2: new (x: T) => string[]; >a2 : new (x: T) => string[] ->T : T >x : T ->T : T a3: new (x: T) => void; >a3 : new (x: T) => void ->T : T >x : T ->T : T a4: new (x: T, y: U) => string; >a4 : new (x: T, y: U) => string ->T : T ->U : U >x : T ->T : T >y : U ->U : U a5: new (x: (arg: T) => U) => T; >a5 : new (x: (arg: T) => U) => T ->T : T ->U : U >x : (arg: T) => U >arg : T ->T : T ->U : U ->T : T a6: new (x: (arg: T) => Derived) => T; >a6 : new (x: (arg: T) => Derived) => T ->T : T ->Base : Base >x : (arg: T) => Derived >arg : T ->T : T ->Derived : Derived ->T : T a11: new (x: { foo: T }, y: { foo: T; bar: T }) => Base; >a11 : new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base ->T : T >x : { foo: T; } >foo : T ->T : T >y : { foo: T; bar: T; } >foo : T ->T : T >bar : T ->T : T ->Base : Base a15: new (x: { a: T; b: T }) => T[]; >a15 : new (x: { a: T; b: T; }) => T[] ->T : T >x : { a: T; b: T; } >a : T ->T : T >b : T ->T : T ->T : T a16: new (x: { a: T; b: T }) => T[]; >a16 : new (x: { a: T; b: T; }) => T[] ->T : T ->Base : Base >x : { a: T; b: T; } >a : T ->T : T >b : T ->T : T ->T : T } var x: A; >x : A ->A : A var b: new (x: T) => T[]; >b : new (x: T) => T[] ->T : T >x : T ->T : T ->T : T x.a = b; >x.a = b : new (x: T) => T[] @@ -133,9 +92,7 @@ b = x.a; var b2: new (x: T) => string[]; >b2 : new (x: T) => string[] ->T : T >x : T ->T : T x.a2 = b2; >x.a2 = b2 : new (x: T) => string[] @@ -153,10 +110,7 @@ b2 = x.a2; var b3: new (x: T) => T; >b3 : new (x: T) => T ->T : T >x : T ->T : T ->T : T x.a3 = b3; >x.a3 = b3 : new (x: T) => T @@ -174,12 +128,8 @@ b3 = x.a3; var b4: new (x: T, y: U) => string; >b4 : new (x: T, y: U) => string ->T : T ->U : U >x : T ->T : T >y : U ->U : U x.a4 = b4; >x.a4 = b4 : new (x: T, y: U) => string @@ -197,13 +147,8 @@ b4 = x.a4; var b5: new (x: (arg: T) => U) => T; >b5 : new (x: (arg: T) => U) => T ->T : T ->U : U >x : (arg: T) => U >arg : T ->T : T ->U : U ->T : T x.a5 = b5; >x.a5 = b5 : new (x: (arg: T) => U) => T @@ -221,17 +166,11 @@ b5 = x.a5; var b11: new (x: { foo: T }, y: { foo: U; bar: U }) => Base; >b11 : new (x: { foo: T; }, y: { foo: U; bar: U; }) => Base ->T : T ->U : U >x : { foo: T; } >foo : T ->T : T >y : { foo: U; bar: U; } >foo : U ->U : U >bar : U ->U : U ->Base : Base x.a11 = b11; >x.a11 = b11 : new (x: { foo: T; }, y: { foo: U; bar: U; }) => Base @@ -249,13 +188,9 @@ b11 = x.a11; var b16: new (x: { a: T; b: T }) => T[]; >b16 : new (x: { a: T; b: T; }) => T[] ->T : T >x : { a: T; b: T; } >a : T ->T : T >b : T ->T : T ->T : T x.a16 = b16; >x.a16 = b16 : new (x: { a: T; b: T; }) => T[] diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignaturesWithOptionalParameters.types b/tests/baselines/reference/assignmentCompatWithConstructSignaturesWithOptionalParameters.types index c2f13da17bf..e304d4a2076 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignaturesWithOptionalParameters.types +++ b/tests/baselines/reference/assignmentCompatWithConstructSignaturesWithOptionalParameters.types @@ -2,8 +2,6 @@ // call signatures in derived types must have the same or fewer optional parameters as the base type interface Base { ->Base : Base - a: new () => number; >a : new () => number @@ -32,7 +30,6 @@ interface Base { } var b: Base; >b : Base ->Base : Base var a: new () => number; >a : new () => number diff --git a/tests/baselines/reference/assignmentCompatWithGenericCallSignatures.types b/tests/baselines/reference/assignmentCompatWithGenericCallSignatures.types index ac503fb1873..c975a7bbd7b 100644 --- a/tests/baselines/reference/assignmentCompatWithGenericCallSignatures.types +++ b/tests/baselines/reference/assignmentCompatWithGenericCallSignatures.types @@ -3,17 +3,13 @@ var f: (x: S) => void >f : (x: S) => void ->S : S >p : string >x : S ->S : S var g: (x: T[]) => void >g : (x: T[]) => void ->T : T >p : string >x : T[] ->T : T f = g; // ok >f = g : (x: T[]) => void diff --git a/tests/baselines/reference/assignmentCompatWithGenericCallSignatures2.types b/tests/baselines/reference/assignmentCompatWithGenericCallSignatures2.types index a5f3f06b9c8..31b075d5bce 100644 --- a/tests/baselines/reference/assignmentCompatWithGenericCallSignatures2.types +++ b/tests/baselines/reference/assignmentCompatWithGenericCallSignatures2.types @@ -2,34 +2,22 @@ // some complex cases of assignment compat of generic signatures. No contextual signature instantiation interface A { ->A : A - (x: T, ...y: T[][]): void ->T : T >x : T ->T : T >y : T[][] ->T : T } interface B { ->B : B - (x: S, ...y: S[]): void ->S : S >x : S ->S : S >y : S[] ->S : S } var a: A; >a : A ->A : A var b: B; >b : B ->B : B // Both ok a = b; diff --git a/tests/baselines/reference/assignmentCompatWithGenericCallSignatures3.types b/tests/baselines/reference/assignmentCompatWithGenericCallSignatures3.types index 0e2eec9c02d..5130dd25e01 100644 --- a/tests/baselines/reference/assignmentCompatWithGenericCallSignatures3.types +++ b/tests/baselines/reference/assignmentCompatWithGenericCallSignatures3.types @@ -2,49 +2,24 @@ // some complex cases of assignment compat of generic signatures that stress contextual signature instantiation interface I { ->I : I ->T : T ->S : S - (f: (x: T) => (y: S) => U): U ->U : U >f : (x: T) => (y: S) => U >x : T ->T : T >y : S ->S : S ->U : U ->U : U } var g: (x: T) => (y: S) => I >g : (x: T) => (y: S) => I ->T : T >x : T ->T : T ->S : S >y : S ->S : S ->I : I ->T : T ->S : S var h: (x: T) => (y: S) => { (f: (x: T) => (y: S) => U): U } >h : (x: T) => (y: S) => (f: (x: T) => (y: S) => U) => U ->T : T >x : T ->T : T ->S : S >y : S ->S : S ->U : U >f : (x: T) => (y: S) => U >x : T ->T : T >y : S ->S : S ->U : U ->U : U g = h // ok >g = h : (x: T) => (y: S) => (f: (x: T) => (y: S) => U) => U diff --git a/tests/baselines/reference/assignmentCompatWithGenericCallSignatures4.types b/tests/baselines/reference/assignmentCompatWithGenericCallSignatures4.types index 38485a78463..827130aadc9 100644 --- a/tests/baselines/reference/assignmentCompatWithGenericCallSignatures4.types +++ b/tests/baselines/reference/assignmentCompatWithGenericCallSignatures4.types @@ -2,30 +2,17 @@ // some complex cases of assignment compat of generic signatures. interface I2 { ->I2 : I2 ->T : T - p: T >p : T ->T : T } var x: >(z: T) => void >x : >(z: T) => void ->T : T ->I2 : I2 ->T : T >z : T ->T : T var y: >>(z: T) => void >y : >>(z: T) => void ->T : T ->I2 : I2 ->I2 : I2 ->T : T >z : T ->T : T // These both do not make sense as we would eventually be comparing I2 to I2>, and they are self referencing anyway x = y diff --git a/tests/baselines/reference/assignmentCompatWithGenericCallSignaturesWithOptionalParameters.types b/tests/baselines/reference/assignmentCompatWithGenericCallSignaturesWithOptionalParameters.types index 28bcc4e190a..8f4ff989875 100644 --- a/tests/baselines/reference/assignmentCompatWithGenericCallSignaturesWithOptionalParameters.types +++ b/tests/baselines/reference/assignmentCompatWithGenericCallSignaturesWithOptionalParameters.types @@ -6,39 +6,27 @@ module ClassTypeParam { class Base { >Base : Base ->T : T a: () => T; >a : () => T ->T : T a2: (x?: T) => T; >a2 : (x?: T) => T >x : T ->T : T ->T : T a3: (x: T) => T; >a3 : (x: T) => T >x : T ->T : T ->T : T a4: (x: T, y?: T) => T; >a4 : (x: T, y?: T) => T >x : T ->T : T >y : T ->T : T ->T : T a5: (x?: T, y?: T) => T; >a5 : (x?: T, y?: T) => T >x : T ->T : T >y : T ->T : T ->T : T init = () => { >init : () => void @@ -59,7 +47,6 @@ module ClassTypeParam { >a : () => T >(x?: T) => null : (x?: T) => any >x : T ->T : T >null : null this.a = (x: T) => null; // error, too many required params @@ -69,7 +56,6 @@ module ClassTypeParam { >a : () => T >(x: T) => null : (x: T) => any >x : T ->T : T >null : null this.a2 = () => null; // ok, same T of required params @@ -87,7 +73,6 @@ module ClassTypeParam { >a2 : (x?: T) => T >(x?: T) => null : (x?: T) => any >x : T ->T : T >null : null this.a2 = (x: T) => null; // ok, same number of params @@ -97,7 +82,6 @@ module ClassTypeParam { >a2 : (x?: T) => T >(x: T) => null : (x: T) => any >x : T ->T : T >null : null this.a3 = () => null; // ok, fewer required params @@ -115,7 +99,6 @@ module ClassTypeParam { >a3 : (x: T) => T >(x?: T) => null : (x?: T) => any >x : T ->T : T >null : null this.a3 = (x: T) => null; // ok, same T of required params @@ -125,7 +108,6 @@ module ClassTypeParam { >a3 : (x: T) => T >(x: T) => null : (x: T) => any >x : T ->T : T >null : null this.a3 = (x: T, y: T) => null; // error, too many required params @@ -135,9 +117,7 @@ module ClassTypeParam { >a3 : (x: T) => T >(x: T, y: T) => null : (x: T, y: T) => any >x : T ->T : T >y : T ->T : T >null : null this.a4 = () => null; // ok, fewer required params @@ -155,9 +135,7 @@ module ClassTypeParam { >a4 : (x: T, y?: T) => T >(x?: T, y?: T) => null : (x?: T, y?: T) => any >x : T ->T : T >y : T ->T : T >null : null this.a4 = (x: T) => null; // ok, same T of required params @@ -167,7 +145,6 @@ module ClassTypeParam { >a4 : (x: T, y?: T) => T >(x: T) => null : (x: T) => any >x : T ->T : T >null : null this.a4 = (x: T, y: T) => null; // ok, same number of params @@ -177,9 +154,7 @@ module ClassTypeParam { >a4 : (x: T, y?: T) => T >(x: T, y: T) => null : (x: T, y: T) => any >x : T ->T : T >y : T ->T : T >null : null @@ -198,9 +173,7 @@ module ClassTypeParam { >a5 : (x?: T, y?: T) => T >(x?: T, y?: T) => null : (x?: T, y?: T) => any >x : T ->T : T >y : T ->T : T >null : null this.a5 = (x: T) => null; // ok, all present params match @@ -210,7 +183,6 @@ module ClassTypeParam { >a5 : (x?: T, y?: T) => T >(x: T) => null : (x: T) => any >x : T ->T : T >null : null this.a5 = (x: T, y: T) => null; // ok, same number of params @@ -220,9 +192,7 @@ module ClassTypeParam { >a5 : (x?: T, y?: T) => T >(x: T, y: T) => null : (x: T, y: T) => any >x : T ->T : T >y : T ->T : T >null : null } } @@ -236,92 +206,60 @@ module GenericSignaturesInvalid { a: () => T; >a : () => T ->T : T ->T : T a2: (x?: T) => T; >a2 : (x?: T) => T ->T : T >x : T ->T : T ->T : T a3: (x: T) => T; >a3 : (x: T) => T ->T : T >x : T ->T : T ->T : T a4: (x: T, y?: T) => T; >a4 : (x: T, y?: T) => T ->T : T >x : T ->T : T >y : T ->T : T ->T : T a5: (x?: T, y?: T) => T; >a5 : (x?: T, y?: T) => T ->T : T >x : T ->T : T >y : T ->T : T ->T : T } class Target { >Target : Target ->T : T a: () => T; >a : () => T ->T : T a2: (x?: T) => T; >a2 : (x?: T) => T >x : T ->T : T ->T : T a3: (x: T) => T; >a3 : (x: T) => T >x : T ->T : T ->T : T a4: (x: T, y?: T) => T; >a4 : (x: T, y?: T) => T >x : T ->T : T >y : T ->T : T ->T : T a5: (x?: T, y?: T) => T; >a5 : (x?: T, y?: T) => T >x : T ->T : T >y : T ->T : T ->T : T } function foo() { >foo : () => void ->T : T var b: Base2; >b : Base2 ->Base2 : Base2 var t: Target; >t : Target ->Target : Target ->T : T // all errors b.a = t.a; @@ -559,40 +497,24 @@ module GenericSignaturesValid { a: () => T; >a : () => T ->T : T ->T : T a2: (x?: T) => T; >a2 : (x?: T) => T ->T : T >x : T ->T : T ->T : T a3: (x: T) => T; >a3 : (x: T) => T ->T : T >x : T ->T : T ->T : T a4: (x: T, y?: T) => T; >a4 : (x: T, y?: T) => T ->T : T >x : T ->T : T >y : T ->T : T ->T : T a5: (x?: T, y?: T) => T; >a5 : (x?: T, y?: T) => T ->T : T >x : T ->T : T >y : T ->T : T ->T : T init = () => { >init : () => void @@ -604,7 +526,6 @@ module GenericSignaturesValid { >this : this >a : () => T >() => null : () => any ->T : T >null : null this.a = (x?: T) => null; // ok, same T of required params @@ -613,9 +534,7 @@ module GenericSignaturesValid { >this : this >a : () => T >(x?: T) => null : (x?: T) => any ->T : T >x : T ->T : T >null : null this.a = (x: T) => null; // error, too many required params @@ -624,9 +543,7 @@ module GenericSignaturesValid { >this : this >a : () => T >(x: T) => null : (x: T) => any ->T : T >x : T ->T : T >null : null this.a2 = () => null; // ok, same T of required params @@ -635,7 +552,6 @@ module GenericSignaturesValid { >this : this >a2 : (x?: T) => T >() => null : () => any ->T : T >null : null this.a2 = (x?: T) => null; // ok, same T of required params @@ -644,9 +560,7 @@ module GenericSignaturesValid { >this : this >a2 : (x?: T) => T >(x?: T) => null : (x?: T) => any ->T : T >x : T ->T : T >null : null this.a2 = (x: T) => null; // ok, same number of params @@ -655,9 +569,7 @@ module GenericSignaturesValid { >this : this >a2 : (x?: T) => T >(x: T) => null : (x: T) => any ->T : T >x : T ->T : T >null : null this.a3 = () => null; // ok, fewer required params @@ -666,7 +578,6 @@ module GenericSignaturesValid { >this : this >a3 : (x: T) => T >() => null : () => any ->T : T >null : null this.a3 = (x?: T) => null; // ok, fewer required params @@ -675,9 +586,7 @@ module GenericSignaturesValid { >this : this >a3 : (x: T) => T >(x?: T) => null : (x?: T) => any ->T : T >x : T ->T : T >null : null this.a3 = (x: T) => null; // ok, same T of required params @@ -686,9 +595,7 @@ module GenericSignaturesValid { >this : this >a3 : (x: T) => T >(x: T) => null : (x: T) => any ->T : T >x : T ->T : T >null : null this.a3 = (x: T, y: T) => null; // error, too many required params @@ -697,11 +604,8 @@ module GenericSignaturesValid { >this : this >a3 : (x: T) => T >(x: T, y: T) => null : (x: T, y: T) => any ->T : T >x : T ->T : T >y : T ->T : T >null : null this.a4 = () => null; // ok, fewer required params @@ -710,7 +614,6 @@ module GenericSignaturesValid { >this : this >a4 : (x: T, y?: T) => T >() => null : () => any ->T : T >null : null this.a4 = (x?: T, y?: T) => null; // ok, fewer required params @@ -719,11 +622,8 @@ module GenericSignaturesValid { >this : this >a4 : (x: T, y?: T) => T >(x?: T, y?: T) => null : (x?: T, y?: T) => any ->T : T >x : T ->T : T >y : T ->T : T >null : null this.a4 = (x: T) => null; // ok, same T of required params @@ -732,9 +632,7 @@ module GenericSignaturesValid { >this : this >a4 : (x: T, y?: T) => T >(x: T) => null : (x: T) => any ->T : T >x : T ->T : T >null : null this.a4 = (x: T, y: T) => null; // ok, same number of params @@ -743,11 +641,8 @@ module GenericSignaturesValid { >this : this >a4 : (x: T, y?: T) => T >(x: T, y: T) => null : (x: T, y: T) => any ->T : T >x : T ->T : T >y : T ->T : T >null : null @@ -757,7 +652,6 @@ module GenericSignaturesValid { >this : this >a5 : (x?: T, y?: T) => T >() => null : () => any ->T : T >null : null this.a5 = (x?: T, y?: T) => null; // ok, fewer required params @@ -766,11 +660,8 @@ module GenericSignaturesValid { >this : this >a5 : (x?: T, y?: T) => T >(x?: T, y?: T) => null : (x?: T, y?: T) => any ->T : T >x : T ->T : T >y : T ->T : T >null : null this.a5 = (x: T) => null; // ok, all present params match @@ -779,9 +670,7 @@ module GenericSignaturesValid { >this : this >a5 : (x?: T, y?: T) => T >(x: T) => null : (x: T) => any ->T : T >x : T ->T : T >null : null this.a5 = (x: T, y: T) => null; // ok, same number of params @@ -790,11 +679,8 @@ module GenericSignaturesValid { >this : this >a5 : (x?: T, y?: T) => T >(x: T, y: T) => null : (x: T, y: T) => any ->T : T >x : T ->T : T >y : T ->T : T >null : null } } diff --git a/tests/baselines/reference/assignmentCompatWithNumericIndexer.types b/tests/baselines/reference/assignmentCompatWithNumericIndexer.types index b1d61b0d71e..d4900b9ba21 100644 --- a/tests/baselines/reference/assignmentCompatWithNumericIndexer.types +++ b/tests/baselines/reference/assignmentCompatWithNumericIndexer.types @@ -2,17 +2,12 @@ // Derived type indexer must be subtype of base type indexer interface Base { foo: string; } ->Base : Base >foo : string interface Derived extends Base { bar: string; } ->Derived : Derived ->Base : Base >bar : string interface Derived2 extends Derived { baz: string; } ->Derived2 : Derived2 ->Derived : Derived >baz : string class A { @@ -20,17 +15,14 @@ class A { [x: number]: Base; >x : number ->Base : Base } var a: A; >a : A ->A : A var b: { [x: number]: Derived; } >b : { [x: number]: Derived; } >x : number ->Derived : Derived a = b; >a = b : { [x: number]: Derived; } @@ -45,7 +37,6 @@ b = a; // error var b2: { [x: number]: Derived2; } >b2 : { [x: number]: Derived2; } >x : number ->Derived2 : Derived2 a = b2; >a = b2 : { [x: number]: Derived2; } @@ -62,38 +53,28 @@ module Generics { class A { >A : A ->T : T ->Base : Base [x: number]: T; >x : number ->T : T } class B extends A { >B : B >A : A ->Base : Base [x: number]: Derived; // ok >x : number ->Derived : Derived } function foo() { >foo : () => void ->T : T ->Base : Base var a: A; >a : A ->A : A ->T : T var b: { [x: number]: Derived; } >b : { [x: number]: Derived; } >x : number ->Derived : Derived a = b; // error >a = b : { [x: number]: Derived; } @@ -108,7 +89,6 @@ module Generics { var b2: { [x: number]: Derived2; } >b2 : { [x: number]: Derived2; } >x : number ->Derived2 : Derived2 a = b2; // error >a = b2 : { [x: number]: Derived2; } @@ -123,7 +103,6 @@ module Generics { var b3: { [x: number]: T; } >b3 : { [x: number]: T; } >x : number ->T : T a = b3; // ok >a = b3 : { [x: number]: T; } diff --git a/tests/baselines/reference/assignmentCompatWithNumericIndexer2.types b/tests/baselines/reference/assignmentCompatWithNumericIndexer2.types index c980c8ef9ea..75147982b89 100644 --- a/tests/baselines/reference/assignmentCompatWithNumericIndexer2.types +++ b/tests/baselines/reference/assignmentCompatWithNumericIndexer2.types @@ -2,35 +2,25 @@ // Derived type indexer must be subtype of base type indexer interface Base { foo: string; } ->Base : Base >foo : string interface Derived extends Base { bar: string; } ->Derived : Derived ->Base : Base >bar : string interface Derived2 extends Derived { baz: string; } ->Derived2 : Derived2 ->Derived : Derived >baz : string interface A { ->A : A - [x: number]: Base; >x : number ->Base : Base } var a: A; >a : A ->A : A var b: { [x: number]: Derived; } >b : { [x: number]: Derived; } >x : number ->Derived : Derived a = b; >a = b : { [x: number]: Derived; } @@ -45,7 +35,6 @@ b = a; // error var b2: { [x: number]: Derived2; } >b2 : { [x: number]: Derived2; } >x : number ->Derived2 : Derived2 a = b2; >a = b2 : { [x: number]: Derived2; } @@ -61,39 +50,24 @@ module Generics { >Generics : typeof Generics interface A { ->A : A ->T : T ->Base : Base - [x: number]: T; >x : number ->T : T } interface B extends A { ->B : B ->A : A ->Base : Base - [x: number]: Derived; // ok >x : number ->Derived : Derived } function foo() { >foo : () => void ->T : T ->Base : Base var a: A; >a : A ->A : A ->T : T var b: { [x: number]: Derived; } >b : { [x: number]: Derived; } >x : number ->Derived : Derived a = b; // error >a = b : { [x: number]: Derived; } @@ -108,7 +82,6 @@ module Generics { var b2: { [x: number]: Derived2; } >b2 : { [x: number]: Derived2; } >x : number ->Derived2 : Derived2 a = b2; // error >a = b2 : { [x: number]: Derived2; } @@ -123,7 +96,6 @@ module Generics { var b3: { [x: number]: T; } >b3 : { [x: number]: T; } >x : number ->T : T a = b3; // ok >a = b3 : { [x: number]: T; } diff --git a/tests/baselines/reference/assignmentCompatWithNumericIndexer3.types b/tests/baselines/reference/assignmentCompatWithNumericIndexer3.types index 3f7b0549254..7943f95907a 100644 --- a/tests/baselines/reference/assignmentCompatWithNumericIndexer3.types +++ b/tests/baselines/reference/assignmentCompatWithNumericIndexer3.types @@ -2,17 +2,12 @@ // Derived type indexer must be subtype of base type indexer interface Base { foo: string; } ->Base : Base >foo : string interface Derived extends Base { bar: string; } ->Derived : Derived ->Base : Base >bar : string interface Derived2 extends Derived { baz: string; } ->Derived2 : Derived2 ->Derived : Derived >baz : string class A { @@ -20,17 +15,14 @@ class A { [x: number]: Derived; >x : number ->Derived : Derived } var a: A; >a : A ->A : A var b: { [x: number]: Base; }; >b : { [x: number]: Base; } >x : number ->Base : Base a = b; // error >a = b : { [x: number]: Base; } @@ -48,13 +40,11 @@ class B2 extends A { [x: number]: Derived2; // ok >x : number ->Derived2 : Derived2 } var b2: { [x: number]: Derived2; }; >b2 : { [x: number]: Derived2; } >x : number ->Derived2 : Derived2 a = b2; // ok >a = b2 : { [x: number]: Derived2; } @@ -71,28 +61,20 @@ module Generics { class A { >A : A ->T : T ->Derived : Derived [x: number]: T; >x : number ->T : T } function foo() { >foo : () => void ->T : T ->Derived : Derived var a: A; >a : A ->A : A ->T : T var b: { [x: number]: Derived; }; >b : { [x: number]: Derived; } >x : number ->Derived : Derived a = b; // error >a = b : { [x: number]: Derived; } @@ -107,7 +89,6 @@ module Generics { var b2: { [x: number]: T; }; >b2 : { [x: number]: T; } >x : number ->T : T a = b2; // ok >a = b2 : { [x: number]: T; } diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembers.types b/tests/baselines/reference/assignmentCompatWithObjectMembers.types index ced87c605c9..539fe1ed809 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembers.types +++ b/tests/baselines/reference/assignmentCompatWithObjectMembers.types @@ -15,27 +15,21 @@ module SimpleTypes { var s: S; >s : S ->S : S var t: T; >t : T ->T : T interface S2 { foo: string; } ->S2 : S2 >foo : string interface T2 { foo: string; } ->T2 : T2 >foo : string var s2: S2; >s2 : S2 ->S2 : S2 var t2: T2; >t2 : T2 ->T2 : T2 var a: { foo: string; } >a : { foo: string; } @@ -159,38 +153,28 @@ module ObjectTypes { class S { foo: S; } >S : S >foo : S ->S : S class T { foo: T; } >T : T >foo : T ->T : T var s: S; >s : S ->S : S var t: T; >t : T ->T : T interface S2 { foo: S2; } ->S2 : S2 >foo : S2 ->S2 : S2 interface T2 { foo: T2; } ->T2 : T2 >foo : T2 ->T2 : T2 var s2: S2; >s2 : S2 ->S2 : S2 var t2: T2; >t2 : T2 ->T2 : T2 var a: { foo: typeof a; } >a : { foo: any; } diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembers2.types b/tests/baselines/reference/assignmentCompatWithObjectMembers2.types index 76316afd3cc..204872fca3e 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembers2.types +++ b/tests/baselines/reference/assignmentCompatWithObjectMembers2.types @@ -12,29 +12,23 @@ class T { foo: string; } var s: S; >s : S ->S : S var t: T; >t : T ->T : T interface S2 { foo: string; bar?: string } ->S2 : S2 >foo : string >bar : string interface T2 { foo: string; baz?: string } ->T2 : T2 >foo : string >baz : string var s2: S2; >s2 : S2 ->S2 : S2 var t2: T2; >t2 : T2 ->T2 : T2 var a: { foo: string; bar?: string } >a : { foo: string; bar?: string; } diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembers3.types b/tests/baselines/reference/assignmentCompatWithObjectMembers3.types index 88eadd4c36a..d0a87a67535 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembers3.types +++ b/tests/baselines/reference/assignmentCompatWithObjectMembers3.types @@ -4,39 +4,31 @@ class S implements S2 { foo: string; } >S : S ->S2 : S2 >foo : string class T implements T2 { foo: string; } >T : T ->T2 : T2 >foo : string var s: S; >s : S ->S : S var t: T; >t : T ->T : T interface S2 { foo: string; bar?: string } ->S2 : S2 >foo : string >bar : string interface T2 { foo: string; baz?: string } ->T2 : T2 >foo : string >baz : string var s2: S2; >s2 : S2 ->S2 : S2 var t2: T2; >t2 : T2 ->T2 : T2 var a: { foo: string; bar?: string } >a : { foo: string; bar?: string; } @@ -50,14 +42,12 @@ var b: { foo: string; baz?: string } var a2: S2 = { foo: '' }; >a2 : S2 ->S2 : S2 >{ foo: '' } : { foo: string; } >foo : string >'' : "" var b2: T2 = { foo: '' }; >b2 : T2 ->T2 : T2 >{ foo: '' } : { foo: string; } >foo : string >'' : "" diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembers4.types b/tests/baselines/reference/assignmentCompatWithObjectMembers4.types index 1d7fb3eae7b..77bbcee40d3 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembers4.types +++ b/tests/baselines/reference/assignmentCompatWithObjectMembers4.types @@ -21,48 +21,36 @@ module OnlyDerived { class S { foo: Derived; } >S : S >foo : Derived ->Derived : Derived class T { foo: Derived2; } >T : T >foo : Derived2 ->Derived2 : Derived2 var s: S; >s : S ->S : S var t: T; >t : T ->T : T interface S2 { foo: Derived; } ->S2 : S2 >foo : Derived ->Derived : Derived interface T2 { foo: Derived2; } ->T2 : T2 >foo : Derived2 ->Derived2 : Derived2 var s2: S2; >s2 : S2 ->S2 : S2 var t2: T2; >t2 : T2 ->T2 : T2 var a: { foo: Derived; } >a : { foo: Derived; } >foo : Derived ->Derived : Derived var b: { foo: Derived2; } >b : { foo: Derived2; } >foo : Derived2 ->Derived2 : Derived2 var a2 = { foo: new Derived() }; >a2 : { foo: Derived; } @@ -194,48 +182,36 @@ module WithBase { class S { foo: Base; } >S : S >foo : Base ->Base : Base class T { foo: Derived2; } >T : T >foo : Derived2 ->Derived2 : Derived2 var s: S; >s : S ->S : S var t: T; >t : T ->T : T interface S2 { foo: Base; } ->S2 : S2 >foo : Base ->Base : Base interface T2 { foo: Derived2; } ->T2 : T2 >foo : Derived2 ->Derived2 : Derived2 var s2: S2; >s2 : S2 ->S2 : S2 var t2: T2; >t2 : T2 ->T2 : T2 var a: { foo: Base; } >a : { foo: Base; } >foo : Base ->Base : Base var b: { foo: Derived2; } >b : { foo: Derived2; } >foo : Derived2 ->Derived2 : Derived2 var a2 = { foo: new Base() }; >a2 : { foo: Base; } diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembers5.types b/tests/baselines/reference/assignmentCompatWithObjectMembers5.types index 87c213ff0fd..bcd092b0ca0 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembers5.types +++ b/tests/baselines/reference/assignmentCompatWithObjectMembers5.types @@ -8,18 +8,14 @@ class C { var c: C; >c : C ->C : C interface I { ->I : I - fooo: string; >fooo : string } var i: I; >i : I ->I : I c = i; // error >c = i : I diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembersAccessibility.types b/tests/baselines/reference/assignmentCompatWithObjectMembersAccessibility.types index ec65f474f20..0728ec31dd5 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembersAccessibility.types +++ b/tests/baselines/reference/assignmentCompatWithObjectMembersAccessibility.types @@ -13,8 +13,6 @@ module TargetIsPublic { } interface I { ->I : I - foo: string; >foo : string } @@ -25,11 +23,9 @@ module TargetIsPublic { var b: Base; >b : Base ->Base : Base var i: I; >i : I ->I : I // sources class D { @@ -47,11 +43,9 @@ module TargetIsPublic { } var d: D; >d : D ->D : D var e: E; >e : E ->E : E a = b; >a = b : Base @@ -172,8 +166,6 @@ module TargetIsPublic { } interface I extends Base { ->I : I ->Base : Base } var a: { foo: string; } @@ -182,11 +174,9 @@ module TargetIsPublic { var b: Base; >b : Base ->Base : Base var i: I; >i : I ->I : I // sources class D { @@ -205,11 +195,9 @@ module TargetIsPublic { var d: D; >d : D ->D : D var e: E; >e : E ->E : E a = b; // error >a = b : Base diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembersNumericNames.types b/tests/baselines/reference/assignmentCompatWithObjectMembersNumericNames.types index aea92a9aa3f..7a722766aec 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembersNumericNames.types +++ b/tests/baselines/reference/assignmentCompatWithObjectMembersNumericNames.types @@ -12,29 +12,23 @@ class T { 1.: string; } var s: S; >s : S ->S : S var t: T; >t : T ->T : T interface S2 { 1: string; bar?: string } ->S2 : S2 >1 : string >bar : string interface T2 { 1.0: string; baz?: string } ->T2 : T2 >1.0 : string >baz : string var s2: S2; >s2 : S2 ->S2 : S2 var t2: T2; >t2 : T2 ->T2 : T2 var a: { 1.: string; bar?: string } >a : { 1.: string; bar?: string; } diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality.types b/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality.types index 8727b7567b6..53f56a7d0a7 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality.types +++ b/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality.types @@ -20,20 +20,15 @@ module TargetHasOptional { // targets interface C { ->C : C - opt?: Base >opt : Base ->Base : Base } var c: C; >c : C ->C : C var a: { opt?: Base; } >a : { opt?: Base; } >opt : Base ->Base : Base var b: typeof a = { opt: new Base() } >b : { opt?: Base; } @@ -45,37 +40,25 @@ module TargetHasOptional { // sources interface D { ->D : D - opt: Base; >opt : Base ->Base : Base } interface E { ->E : E - opt: Derived; >opt : Derived ->Derived : Derived } interface F { ->F : F - opt?: Derived; >opt : Derived ->Derived : Derived } var d: D; >d : D ->D : D var e: E; >e : E ->E : E var f: F; >f : F ->F : F // all ok c = d; @@ -149,20 +132,15 @@ module SourceHasOptional { // targets interface C { ->C : C - opt: Base >opt : Base ->Base : Base } var c: C; >c : C ->C : C var a: { opt: Base; } >a : { opt: Base; } >opt : Base ->Base : Base var b = { opt: new Base() } >b : { opt: Base; } @@ -173,37 +151,25 @@ module SourceHasOptional { // sources interface D { ->D : D - opt?: Base; >opt : Base ->Base : Base } interface E { ->E : E - opt?: Derived; >opt : Derived ->Derived : Derived } interface F { ->F : F - opt: Derived; >opt : Derived ->Derived : Derived } var d: D; >d : D ->D : D var e: E; >e : E ->E : E var f: F; >f : F ->F : F c = d; // error >c = d : D diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality2.types b/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality2.types index 3481816b544..f2caff7f489 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality2.types +++ b/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality2.types @@ -21,20 +21,15 @@ module TargetHasOptional { // targets interface C { ->C : C - opt?: Base >opt : Base ->Base : Base } var c: C; >c : C ->C : C var a: { opt?: Base; } >a : { opt?: Base; } >opt : Base ->Base : Base var b: typeof a = { opt: new Base() } >b : { opt?: Base; } @@ -46,37 +41,25 @@ module TargetHasOptional { // sources interface D { ->D : D - other: Base; >other : Base ->Base : Base } interface E { ->E : E - other: Derived; >other : Derived ->Derived : Derived } interface F { ->F : F - other?: Derived; >other : Derived ->Derived : Derived } var d: D; >d : D ->D : D var e: E; >e : E ->E : E var f: F; >f : F ->F : F // disallowed by weak type checking c = d; @@ -151,20 +134,15 @@ module SourceHasOptional { // targets interface C { ->C : C - opt: Base >opt : Base ->Base : Base } var c: C; >c : C ->C : C var a: { opt: Base; } >a : { opt: Base; } >opt : Base ->Base : Base var b = { opt: new Base() } >b : { opt: Base; } @@ -175,37 +153,25 @@ module SourceHasOptional { // sources interface D { ->D : D - other?: Base; >other : Base ->Base : Base } interface E { ->E : E - other?: Derived; >other : Derived ->Derived : Derived } interface F { ->F : F - other: Derived; >other : Derived ->Derived : Derived } var d: D; >d : D ->D : D var e: E; >e : E ->E : E var f: F; >f : F ->F : F c = d; // error >c = d : D diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembersStringNumericNames.types b/tests/baselines/reference/assignmentCompatWithObjectMembersStringNumericNames.types index a8be024ca60..3210c1810a3 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembersStringNumericNames.types +++ b/tests/baselines/reference/assignmentCompatWithObjectMembersStringNumericNames.types @@ -15,29 +15,23 @@ module JustStrings { var s: S; >s : S ->S : S var t: T; >t : T ->T : T interface S2 { '1': string; bar?: string } ->S2 : S2 >'1' : string >bar : string interface T2 { '1.0': string; baz?: string } ->T2 : T2 >'1.0' : string >baz : string var s2: S2; >s2 : S2 ->S2 : S2 var t2: T2; >t2 : T2 ->T2 : T2 var a: { '1.': string; bar?: string } >a : { '1.': string; bar?: string; } @@ -170,29 +164,23 @@ module NumbersAndStrings { var s: S; >s : S ->S : S var t: T; >t : T ->T : T interface S2 { '1': string; bar?: string } ->S2 : S2 >'1' : string >bar : string interface T2 { 1.0: string; baz?: string } ->T2 : T2 >1.0 : string >baz : string var s2: S2; >s2 : S2 ->S2 : S2 var t2: T2; >t2 : T2 ->T2 : T2 var a: { '1.': string; bar?: string } >a : { '1.': string; bar?: string; } diff --git a/tests/baselines/reference/assignmentCompatWithStringIndexer.types b/tests/baselines/reference/assignmentCompatWithStringIndexer.types index 2ecb1889406..7b9febebfb4 100644 --- a/tests/baselines/reference/assignmentCompatWithStringIndexer.types +++ b/tests/baselines/reference/assignmentCompatWithStringIndexer.types @@ -2,17 +2,12 @@ // index signatures must be compatible in assignments interface Base { foo: string; } ->Base : Base >foo : string interface Derived extends Base { bar: string; } ->Derived : Derived ->Base : Base >bar : string interface Derived2 extends Derived { baz: string; } ->Derived2 : Derived2 ->Derived : Derived >baz : string class A { @@ -20,17 +15,14 @@ class A { [x: string]: Base; >x : string ->Base : Base } var a: A; >a : A ->A : A var b: { [x: string]: Derived; } >b : { [x: string]: Derived; } >x : string ->Derived : Derived a = b; // ok >a = b : { [x: string]: Derived; } @@ -45,7 +37,6 @@ b = a; // error var b2: { [x: string]: Derived2; } >b2 : { [x: string]: Derived2; } >x : string ->Derived2 : Derived2 a = b2; // ok >a = b2 : { [x: string]: Derived2; } @@ -62,33 +53,25 @@ module Generics { class A { >A : A ->T : T ->Base : Base [x: string]: T; >x : string ->T : T } class B extends A { >B : B >A : A ->Base : Base [x: string]: Derived; // ok >x : string ->Derived : Derived } var b1: { [x: string]: Derived; }; >b1 : { [x: string]: Derived; } >x : string ->Derived : Derived var a1: A; >a1 : A ->A : A ->Base : Base a1 = b1; // ok >a1 = b1 : { [x: string]: Derived; } @@ -103,17 +86,14 @@ module Generics { class B2 extends A { >B2 : B2 >A : A ->Base : Base [x: string]: Derived2; // ok >x : string ->Derived2 : Derived2 } var b2: { [x: string]: Derived2; }; >b2 : { [x: string]: Derived2; } >x : string ->Derived2 : Derived2 a1 = b2; // ok >a1 = b2 : { [x: string]: Derived2; } @@ -127,18 +107,13 @@ module Generics { function foo() { >foo : () => void ->T : T ->Base : Base var b3: { [x: string]: Derived; }; >b3 : { [x: string]: Derived; } >x : string ->Derived : Derived var a3: A; >a3 : A ->A : A ->T : T a3 = b3; // error >a3 = b3 : { [x: string]: Derived; } @@ -153,7 +128,6 @@ module Generics { var b4: { [x: string]: Derived2; }; >b4 : { [x: string]: Derived2; } >x : string ->Derived2 : Derived2 a3 = b4; // error >a3 = b4 : { [x: string]: Derived2; } diff --git a/tests/baselines/reference/assignmentCompatWithStringIndexer2.types b/tests/baselines/reference/assignmentCompatWithStringIndexer2.types index 4c9d2729a6c..0f520bdccb9 100644 --- a/tests/baselines/reference/assignmentCompatWithStringIndexer2.types +++ b/tests/baselines/reference/assignmentCompatWithStringIndexer2.types @@ -2,35 +2,25 @@ // index signatures must be compatible in assignments interface Base { foo: string; } ->Base : Base >foo : string interface Derived extends Base { bar: string; } ->Derived : Derived ->Base : Base >bar : string interface Derived2 extends Derived { baz: string; } ->Derived2 : Derived2 ->Derived : Derived >baz : string interface A { ->A : A - [x: string]: Base; >x : string ->Base : Base } var a: A; >a : A ->A : A var b: { [x: string]: Derived; } >b : { [x: string]: Derived; } >x : string ->Derived : Derived a = b; // ok >a = b : { [x: string]: Derived; } @@ -45,7 +35,6 @@ b = a; // error var b2: { [x: string]: Derived2; } >b2 : { [x: string]: Derived2; } >x : string ->Derived2 : Derived2 a = b2; // ok >a = b2 : { [x: string]: Derived2; } @@ -61,34 +50,21 @@ module Generics { >Generics : typeof Generics interface A { ->A : A ->T : T ->Base : Base - [x: string]: T; >x : string ->T : T } interface B extends A { ->B : B ->A : A ->Base : Base - [x: string]: Derived; // ok >x : string ->Derived : Derived } var b1: { [x: string]: Derived; }; >b1 : { [x: string]: Derived; } >x : string ->Derived : Derived var a1: A; >a1 : A ->A : A ->Base : Base a1 = b1; // ok >a1 = b1 : { [x: string]: Derived; } @@ -101,19 +77,13 @@ module Generics { >a1 : A interface B2 extends A { ->B2 : B2 ->A : A ->Base : Base - [x: string]: Derived2; // ok >x : string ->Derived2 : Derived2 } var b2: { [x: string]: Derived2; }; >b2 : { [x: string]: Derived2; } >x : string ->Derived2 : Derived2 a1 = b2; // ok >a1 = b2 : { [x: string]: Derived2; } @@ -127,18 +97,13 @@ module Generics { function foo() { >foo : () => void ->T : T ->Base : Base var b3: { [x: string]: Derived; }; >b3 : { [x: string]: Derived; } >x : string ->Derived : Derived var a3: A; >a3 : A ->A : A ->T : T a3 = b3; // error >a3 = b3 : { [x: string]: Derived; } @@ -153,7 +118,6 @@ module Generics { var b4: { [x: string]: Derived2; }; >b4 : { [x: string]: Derived2; } >x : string ->Derived2 : Derived2 a3 = b4; // error >a3 = b4 : { [x: string]: Derived2; } diff --git a/tests/baselines/reference/assignmentCompatWithStringIndexer3.types b/tests/baselines/reference/assignmentCompatWithStringIndexer3.types index eda67798465..89caebb3113 100644 --- a/tests/baselines/reference/assignmentCompatWithStringIndexer3.types +++ b/tests/baselines/reference/assignmentCompatWithStringIndexer3.types @@ -2,22 +2,16 @@ // Derived type indexer must be subtype of base type indexer interface Base { foo: string; } ->Base : Base >foo : string interface Derived extends Base { bar: string; } ->Derived : Derived ->Base : Base >bar : string interface Derived2 extends Derived { baz: string; } ->Derived2 : Derived2 ->Derived : Derived >baz : string var a: A; >a : any ->A : No type information available! var b1: { [x: string]: string; } >b1 : { [x: string]: string; } @@ -38,23 +32,16 @@ module Generics { class A { >A : A ->T : T ->Derived : Derived [x: string]: T; >x : string ->T : T } function foo() { >foo : () => void ->T : T ->Derived : Derived var a: A; >a : A ->A : A ->T : T var b: { [x: string]: string; } >b : { [x: string]: string; } diff --git a/tests/baselines/reference/assignmentCompatability1.types b/tests/baselines/reference/assignmentCompatability1.types index 6f47a6e5244..1aa3eac973a 100644 --- a/tests/baselines/reference/assignmentCompatability1.types +++ b/tests/baselines/reference/assignmentCompatability1.types @@ -3,15 +3,9 @@ module __test1__ { >__test1__ : typeof __test1__ export interface interfaceWithPublicAndOptional { one: T; two?: U; }; var obj4: interfaceWithPublicAndOptional = { one: 1 };; ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional ->T : T ->U : U >one : T ->T : T >two : U ->U : U >obj4 : interfaceWithPublicAndOptional ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number >1 : 1 diff --git a/tests/baselines/reference/assignmentCompatability10.types b/tests/baselines/reference/assignmentCompatability10.types index 9784acfdabc..d5d25915940 100644 --- a/tests/baselines/reference/assignmentCompatability10.types +++ b/tests/baselines/reference/assignmentCompatability10.types @@ -3,15 +3,9 @@ module __test1__ { >__test1__ : typeof __test1__ export interface interfaceWithPublicAndOptional { one: T; two?: U; }; var obj4: interfaceWithPublicAndOptional = { one: 1 };; ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional ->T : T ->U : U >one : T ->T : T >two : U ->U : U >obj4 : interfaceWithPublicAndOptional ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number >1 : 1 @@ -25,12 +19,8 @@ module __test2__ { export class classWithPublicAndOptional { constructor(public one: T, public two?: U) {} } var x4 = new classWithPublicAndOptional(1);; >classWithPublicAndOptional : classWithPublicAndOptional ->T : T ->U : U >one : T ->T : T >two : U ->U : U >x4 : classWithPublicAndOptional >new classWithPublicAndOptional(1) : classWithPublicAndOptional >classWithPublicAndOptional : typeof classWithPublicAndOptional diff --git a/tests/baselines/reference/assignmentCompatability11.types b/tests/baselines/reference/assignmentCompatability11.types index d035fe74084..728aee1517a 100644 --- a/tests/baselines/reference/assignmentCompatability11.types +++ b/tests/baselines/reference/assignmentCompatability11.types @@ -3,15 +3,9 @@ module __test1__ { >__test1__ : typeof __test1__ export interface interfaceWithPublicAndOptional { one: T; two?: U; }; var obj4: interfaceWithPublicAndOptional = { one: 1 };; ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional ->T : T ->U : U >one : T ->T : T >two : U ->U : U >obj4 : interfaceWithPublicAndOptional ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number >1 : 1 diff --git a/tests/baselines/reference/assignmentCompatability12.types b/tests/baselines/reference/assignmentCompatability12.types index 34e83a7dc44..0b1eed65e43 100644 --- a/tests/baselines/reference/assignmentCompatability12.types +++ b/tests/baselines/reference/assignmentCompatability12.types @@ -3,15 +3,9 @@ module __test1__ { >__test1__ : typeof __test1__ export interface interfaceWithPublicAndOptional { one: T; two?: U; }; var obj4: interfaceWithPublicAndOptional = { one: 1 };; ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional ->T : T ->U : U >one : T ->T : T >two : U ->U : U >obj4 : interfaceWithPublicAndOptional ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number >1 : 1 diff --git a/tests/baselines/reference/assignmentCompatability13.types b/tests/baselines/reference/assignmentCompatability13.types index 3ee0e4a15b5..62f82be12ac 100644 --- a/tests/baselines/reference/assignmentCompatability13.types +++ b/tests/baselines/reference/assignmentCompatability13.types @@ -3,15 +3,9 @@ module __test1__ { >__test1__ : typeof __test1__ export interface interfaceWithPublicAndOptional { one: T; two?: U; }; var obj4: interfaceWithPublicAndOptional = { one: 1 };; ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional ->T : T ->U : U >one : T ->T : T >two : U ->U : U >obj4 : interfaceWithPublicAndOptional ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number >1 : 1 diff --git a/tests/baselines/reference/assignmentCompatability14.types b/tests/baselines/reference/assignmentCompatability14.types index 0eee6b21695..8321cc0fc61 100644 --- a/tests/baselines/reference/assignmentCompatability14.types +++ b/tests/baselines/reference/assignmentCompatability14.types @@ -3,15 +3,9 @@ module __test1__ { >__test1__ : typeof __test1__ export interface interfaceWithPublicAndOptional { one: T; two?: U; }; var obj4: interfaceWithPublicAndOptional = { one: 1 };; ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional ->T : T ->U : U >one : T ->T : T >two : U ->U : U >obj4 : interfaceWithPublicAndOptional ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number >1 : 1 diff --git a/tests/baselines/reference/assignmentCompatability15.types b/tests/baselines/reference/assignmentCompatability15.types index 426c55f55dc..688e6e4be84 100644 --- a/tests/baselines/reference/assignmentCompatability15.types +++ b/tests/baselines/reference/assignmentCompatability15.types @@ -3,15 +3,9 @@ module __test1__ { >__test1__ : typeof __test1__ export interface interfaceWithPublicAndOptional { one: T; two?: U; }; var obj4: interfaceWithPublicAndOptional = { one: 1 };; ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional ->T : T ->U : U >one : T ->T : T >two : U ->U : U >obj4 : interfaceWithPublicAndOptional ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number >1 : 1 diff --git a/tests/baselines/reference/assignmentCompatability16.types b/tests/baselines/reference/assignmentCompatability16.types index bc37bd93de6..053cbfd26a9 100644 --- a/tests/baselines/reference/assignmentCompatability16.types +++ b/tests/baselines/reference/assignmentCompatability16.types @@ -3,15 +3,9 @@ module __test1__ { >__test1__ : typeof __test1__ export interface interfaceWithPublicAndOptional { one: T; two?: U; }; var obj4: interfaceWithPublicAndOptional = { one: 1 };; ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional ->T : T ->U : U >one : T ->T : T >two : U ->U : U >obj4 : interfaceWithPublicAndOptional ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number >1 : 1 diff --git a/tests/baselines/reference/assignmentCompatability17.types b/tests/baselines/reference/assignmentCompatability17.types index b6d6854d8a9..5a1c5a0a48f 100644 --- a/tests/baselines/reference/assignmentCompatability17.types +++ b/tests/baselines/reference/assignmentCompatability17.types @@ -3,15 +3,9 @@ module __test1__ { >__test1__ : typeof __test1__ export interface interfaceWithPublicAndOptional { one: T; two?: U; }; var obj4: interfaceWithPublicAndOptional = { one: 1 };; ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional ->T : T ->U : U >one : T ->T : T >two : U ->U : U >obj4 : interfaceWithPublicAndOptional ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number >1 : 1 diff --git a/tests/baselines/reference/assignmentCompatability18.types b/tests/baselines/reference/assignmentCompatability18.types index cae2094c992..936b35a7c9f 100644 --- a/tests/baselines/reference/assignmentCompatability18.types +++ b/tests/baselines/reference/assignmentCompatability18.types @@ -3,15 +3,9 @@ module __test1__ { >__test1__ : typeof __test1__ export interface interfaceWithPublicAndOptional { one: T; two?: U; }; var obj4: interfaceWithPublicAndOptional = { one: 1 };; ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional ->T : T ->U : U >one : T ->T : T >two : U ->U : U >obj4 : interfaceWithPublicAndOptional ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number >1 : 1 diff --git a/tests/baselines/reference/assignmentCompatability19.types b/tests/baselines/reference/assignmentCompatability19.types index 41fad382aa5..e822dde2891 100644 --- a/tests/baselines/reference/assignmentCompatability19.types +++ b/tests/baselines/reference/assignmentCompatability19.types @@ -3,15 +3,9 @@ module __test1__ { >__test1__ : typeof __test1__ export interface interfaceWithPublicAndOptional { one: T; two?: U; }; var obj4: interfaceWithPublicAndOptional = { one: 1 };; ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional ->T : T ->U : U >one : T ->T : T >two : U ->U : U >obj4 : interfaceWithPublicAndOptional ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number >1 : 1 diff --git a/tests/baselines/reference/assignmentCompatability2.types b/tests/baselines/reference/assignmentCompatability2.types index 58fb86b5c7f..33383d1a185 100644 --- a/tests/baselines/reference/assignmentCompatability2.types +++ b/tests/baselines/reference/assignmentCompatability2.types @@ -3,15 +3,9 @@ module __test1__ { >__test1__ : typeof __test1__ export interface interfaceWithPublicAndOptional { one: T; two?: U; }; var obj4: interfaceWithPublicAndOptional = { one: 1 };; ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional ->T : T ->U : U >one : T ->T : T >two : U ->U : U >obj4 : interfaceWithPublicAndOptional ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number >1 : 1 diff --git a/tests/baselines/reference/assignmentCompatability20.types b/tests/baselines/reference/assignmentCompatability20.types index 666ad22e681..1e6cf213af3 100644 --- a/tests/baselines/reference/assignmentCompatability20.types +++ b/tests/baselines/reference/assignmentCompatability20.types @@ -3,15 +3,9 @@ module __test1__ { >__test1__ : typeof __test1__ export interface interfaceWithPublicAndOptional { one: T; two?: U; }; var obj4: interfaceWithPublicAndOptional = { one: 1 };; ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional ->T : T ->U : U >one : T ->T : T >two : U ->U : U >obj4 : interfaceWithPublicAndOptional ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number >1 : 1 diff --git a/tests/baselines/reference/assignmentCompatability21.types b/tests/baselines/reference/assignmentCompatability21.types index 2b0c8e90b7b..fdd8eea98d6 100644 --- a/tests/baselines/reference/assignmentCompatability21.types +++ b/tests/baselines/reference/assignmentCompatability21.types @@ -3,15 +3,9 @@ module __test1__ { >__test1__ : typeof __test1__ export interface interfaceWithPublicAndOptional { one: T; two?: U; }; var obj4: interfaceWithPublicAndOptional = { one: 1 };; ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional ->T : T ->U : U >one : T ->T : T >two : U ->U : U >obj4 : interfaceWithPublicAndOptional ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number >1 : 1 diff --git a/tests/baselines/reference/assignmentCompatability22.types b/tests/baselines/reference/assignmentCompatability22.types index d94f7b51ee7..70561e334e5 100644 --- a/tests/baselines/reference/assignmentCompatability22.types +++ b/tests/baselines/reference/assignmentCompatability22.types @@ -3,15 +3,9 @@ module __test1__ { >__test1__ : typeof __test1__ export interface interfaceWithPublicAndOptional { one: T; two?: U; }; var obj4: interfaceWithPublicAndOptional = { one: 1 };; ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional ->T : T ->U : U >one : T ->T : T >two : U ->U : U >obj4 : interfaceWithPublicAndOptional ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number >1 : 1 diff --git a/tests/baselines/reference/assignmentCompatability23.types b/tests/baselines/reference/assignmentCompatability23.types index 8c3f1155f71..e8c26edf9ee 100644 --- a/tests/baselines/reference/assignmentCompatability23.types +++ b/tests/baselines/reference/assignmentCompatability23.types @@ -3,15 +3,9 @@ module __test1__ { >__test1__ : typeof __test1__ export interface interfaceWithPublicAndOptional { one: T; two?: U; }; var obj4: interfaceWithPublicAndOptional = { one: 1 };; ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional ->T : T ->U : U >one : T ->T : T >two : U ->U : U >obj4 : interfaceWithPublicAndOptional ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number >1 : 1 diff --git a/tests/baselines/reference/assignmentCompatability24.types b/tests/baselines/reference/assignmentCompatability24.types index 63fccee0c1c..f997ac68bf1 100644 --- a/tests/baselines/reference/assignmentCompatability24.types +++ b/tests/baselines/reference/assignmentCompatability24.types @@ -3,15 +3,9 @@ module __test1__ { >__test1__ : typeof __test1__ export interface interfaceWithPublicAndOptional { one: T; two?: U; }; var obj4: interfaceWithPublicAndOptional = { one: 1 };; ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional ->T : T ->U : U >one : T ->T : T >two : U ->U : U >obj4 : interfaceWithPublicAndOptional ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number >1 : 1 @@ -27,9 +21,7 @@ module __test2__ { >obj : (a: Tstring) => Tstring >function f(a: Tstring) { return a; } : (a: Tstring) => Tstring >f : (a: Tstring) => Tstring ->Tstring : Tstring >a : Tstring ->Tstring : Tstring >a : Tstring export var __val__obj = obj; diff --git a/tests/baselines/reference/assignmentCompatability25.types b/tests/baselines/reference/assignmentCompatability25.types index 3f24a798d65..776e9992d89 100644 --- a/tests/baselines/reference/assignmentCompatability25.types +++ b/tests/baselines/reference/assignmentCompatability25.types @@ -3,15 +3,9 @@ module __test1__ { >__test1__ : typeof __test1__ export interface interfaceWithPublicAndOptional { one: T; two?: U; }; var obj4: interfaceWithPublicAndOptional = { one: 1 };; ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional ->T : T ->U : U >one : T ->T : T >two : U ->U : U >obj4 : interfaceWithPublicAndOptional ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number >1 : 1 diff --git a/tests/baselines/reference/assignmentCompatability26.types b/tests/baselines/reference/assignmentCompatability26.types index 9653a606705..0350170475a 100644 --- a/tests/baselines/reference/assignmentCompatability26.types +++ b/tests/baselines/reference/assignmentCompatability26.types @@ -3,15 +3,9 @@ module __test1__ { >__test1__ : typeof __test1__ export interface interfaceWithPublicAndOptional { one: T; two?: U; }; var obj4: interfaceWithPublicAndOptional = { one: 1 };; ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional ->T : T ->U : U >one : T ->T : T >two : U ->U : U >obj4 : interfaceWithPublicAndOptional ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number >1 : 1 diff --git a/tests/baselines/reference/assignmentCompatability27.types b/tests/baselines/reference/assignmentCompatability27.types index c04554e5764..512e7f09dd2 100644 --- a/tests/baselines/reference/assignmentCompatability27.types +++ b/tests/baselines/reference/assignmentCompatability27.types @@ -3,15 +3,9 @@ module __test1__ { >__test1__ : typeof __test1__ export interface interfaceWithPublicAndOptional { one: T; two?: U; }; var obj4: interfaceWithPublicAndOptional = { one: 1 };; ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional ->T : T ->U : U >one : T ->T : T >two : U ->U : U >obj4 : interfaceWithPublicAndOptional ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number >1 : 1 diff --git a/tests/baselines/reference/assignmentCompatability28.types b/tests/baselines/reference/assignmentCompatability28.types index bdf277b0664..5f0a2f41bc5 100644 --- a/tests/baselines/reference/assignmentCompatability28.types +++ b/tests/baselines/reference/assignmentCompatability28.types @@ -3,15 +3,9 @@ module __test1__ { >__test1__ : typeof __test1__ export interface interfaceWithPublicAndOptional { one: T; two?: U; }; var obj4: interfaceWithPublicAndOptional = { one: 1 };; ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional ->T : T ->U : U >one : T ->T : T >two : U ->U : U >obj4 : interfaceWithPublicAndOptional ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number >1 : 1 diff --git a/tests/baselines/reference/assignmentCompatability29.types b/tests/baselines/reference/assignmentCompatability29.types index 7a87e4f8bee..6e7393cd504 100644 --- a/tests/baselines/reference/assignmentCompatability29.types +++ b/tests/baselines/reference/assignmentCompatability29.types @@ -3,15 +3,9 @@ module __test1__ { >__test1__ : typeof __test1__ export interface interfaceWithPublicAndOptional { one: T; two?: U; }; var obj4: interfaceWithPublicAndOptional = { one: 1 };; ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional ->T : T ->U : U >one : T ->T : T >two : U ->U : U >obj4 : interfaceWithPublicAndOptional ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number >1 : 1 diff --git a/tests/baselines/reference/assignmentCompatability3.types b/tests/baselines/reference/assignmentCompatability3.types index 4525500cfec..06db684c39e 100644 --- a/tests/baselines/reference/assignmentCompatability3.types +++ b/tests/baselines/reference/assignmentCompatability3.types @@ -3,15 +3,9 @@ module __test1__ { >__test1__ : typeof __test1__ export interface interfaceWithPublicAndOptional { one: T; two?: U; }; var obj4: interfaceWithPublicAndOptional = { one: 1 };; ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional ->T : T ->U : U >one : T ->T : T >two : U ->U : U >obj4 : interfaceWithPublicAndOptional ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number >1 : 1 diff --git a/tests/baselines/reference/assignmentCompatability30.types b/tests/baselines/reference/assignmentCompatability30.types index ca541edb554..acde0fb4e75 100644 --- a/tests/baselines/reference/assignmentCompatability30.types +++ b/tests/baselines/reference/assignmentCompatability30.types @@ -3,15 +3,9 @@ module __test1__ { >__test1__ : typeof __test1__ export interface interfaceWithPublicAndOptional { one: T; two?: U; }; var obj4: interfaceWithPublicAndOptional = { one: 1 };; ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional ->T : T ->U : U >one : T ->T : T >two : U ->U : U >obj4 : interfaceWithPublicAndOptional ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number >1 : 1 diff --git a/tests/baselines/reference/assignmentCompatability31.types b/tests/baselines/reference/assignmentCompatability31.types index 2c4ec726bcb..ab26f09ac37 100644 --- a/tests/baselines/reference/assignmentCompatability31.types +++ b/tests/baselines/reference/assignmentCompatability31.types @@ -3,15 +3,9 @@ module __test1__ { >__test1__ : typeof __test1__ export interface interfaceWithPublicAndOptional { one: T; two?: U; }; var obj4: interfaceWithPublicAndOptional = { one: 1 };; ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional ->T : T ->U : U >one : T ->T : T >two : U ->U : U >obj4 : interfaceWithPublicAndOptional ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number >1 : 1 diff --git a/tests/baselines/reference/assignmentCompatability32.types b/tests/baselines/reference/assignmentCompatability32.types index e7e9c3ef929..81cfe862821 100644 --- a/tests/baselines/reference/assignmentCompatability32.types +++ b/tests/baselines/reference/assignmentCompatability32.types @@ -3,15 +3,9 @@ module __test1__ { >__test1__ : typeof __test1__ export interface interfaceWithPublicAndOptional { one: T; two?: U; }; var obj4: interfaceWithPublicAndOptional = { one: 1 };; ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional ->T : T ->U : U >one : T ->T : T >two : U ->U : U >obj4 : interfaceWithPublicAndOptional ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number >1 : 1 diff --git a/tests/baselines/reference/assignmentCompatability33.types b/tests/baselines/reference/assignmentCompatability33.types index 9420c0f1bc9..2d0077363bd 100644 --- a/tests/baselines/reference/assignmentCompatability33.types +++ b/tests/baselines/reference/assignmentCompatability33.types @@ -3,15 +3,9 @@ module __test1__ { >__test1__ : typeof __test1__ export interface interfaceWithPublicAndOptional { one: T; two?: U; }; var obj4: interfaceWithPublicAndOptional = { one: 1 };; ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional ->T : T ->U : U >one : T ->T : T >two : U ->U : U >obj4 : interfaceWithPublicAndOptional ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number >1 : 1 @@ -25,10 +19,7 @@ module __test2__ { export var obj: { (a: Tstring): Tstring; }; >obj : (a: Tstring) => Tstring ->Tstring : Tstring >a : Tstring ->Tstring : Tstring ->Tstring : Tstring export var __val__obj = obj; >__val__obj : (a: Tstring) => Tstring diff --git a/tests/baselines/reference/assignmentCompatability34.types b/tests/baselines/reference/assignmentCompatability34.types index 323dd84c787..73a1e988239 100644 --- a/tests/baselines/reference/assignmentCompatability34.types +++ b/tests/baselines/reference/assignmentCompatability34.types @@ -3,15 +3,9 @@ module __test1__ { >__test1__ : typeof __test1__ export interface interfaceWithPublicAndOptional { one: T; two?: U; }; var obj4: interfaceWithPublicAndOptional = { one: 1 };; ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional ->T : T ->U : U >one : T ->T : T >two : U ->U : U >obj4 : interfaceWithPublicAndOptional ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number >1 : 1 @@ -25,10 +19,7 @@ module __test2__ { export var obj: { (a:Tnumber):Tnumber;}; >obj : (a: Tnumber) => Tnumber ->Tnumber : Tnumber >a : Tnumber ->Tnumber : Tnumber ->Tnumber : Tnumber export var __val__obj = obj; >__val__obj : (a: Tnumber) => Tnumber diff --git a/tests/baselines/reference/assignmentCompatability35.types b/tests/baselines/reference/assignmentCompatability35.types index 50da60fd0d9..bbef43af9f4 100644 --- a/tests/baselines/reference/assignmentCompatability35.types +++ b/tests/baselines/reference/assignmentCompatability35.types @@ -3,15 +3,9 @@ module __test1__ { >__test1__ : typeof __test1__ export interface interfaceWithPublicAndOptional { one: T; two?: U; }; var obj4: interfaceWithPublicAndOptional = { one: 1 };; ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional ->T : T ->U : U >one : T ->T : T >two : U ->U : U >obj4 : interfaceWithPublicAndOptional ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number >1 : 1 diff --git a/tests/baselines/reference/assignmentCompatability36.types b/tests/baselines/reference/assignmentCompatability36.types index 59ccc04195f..1d93b502cc8 100644 --- a/tests/baselines/reference/assignmentCompatability36.types +++ b/tests/baselines/reference/assignmentCompatability36.types @@ -3,15 +3,9 @@ module __test1__ { >__test1__ : typeof __test1__ export interface interfaceWithPublicAndOptional { one: T; two?: U; }; var obj4: interfaceWithPublicAndOptional = { one: 1 };; ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional ->T : T ->U : U >one : T ->T : T >two : U ->U : U >obj4 : interfaceWithPublicAndOptional ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number >1 : 1 diff --git a/tests/baselines/reference/assignmentCompatability37.types b/tests/baselines/reference/assignmentCompatability37.types index 44f1b7d120b..099741162d3 100644 --- a/tests/baselines/reference/assignmentCompatability37.types +++ b/tests/baselines/reference/assignmentCompatability37.types @@ -3,15 +3,9 @@ module __test1__ { >__test1__ : typeof __test1__ export interface interfaceWithPublicAndOptional { one: T; two?: U; }; var obj4: interfaceWithPublicAndOptional = { one: 1 };; ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional ->T : T ->U : U >one : T ->T : T >two : U ->U : U >obj4 : interfaceWithPublicAndOptional ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number >1 : 1 @@ -25,9 +19,7 @@ module __test2__ { export var aa:{ new (param: Tnumber); };; >aa : new (param: Tnumber) => any ->Tnumber : Tnumber >param : Tnumber ->Tnumber : Tnumber export var __val__aa = aa; >__val__aa : new (param: Tnumber) => any diff --git a/tests/baselines/reference/assignmentCompatability38.types b/tests/baselines/reference/assignmentCompatability38.types index ae23533fb08..e6be5038f0f 100644 --- a/tests/baselines/reference/assignmentCompatability38.types +++ b/tests/baselines/reference/assignmentCompatability38.types @@ -3,15 +3,9 @@ module __test1__ { >__test1__ : typeof __test1__ export interface interfaceWithPublicAndOptional { one: T; two?: U; }; var obj4: interfaceWithPublicAndOptional = { one: 1 };; ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional ->T : T ->U : U >one : T ->T : T >two : U ->U : U >obj4 : interfaceWithPublicAndOptional ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number >1 : 1 @@ -25,9 +19,7 @@ module __test2__ { export var aa:{ new (param: Tstring); };; >aa : new (param: Tstring) => any ->Tstring : Tstring >param : Tstring ->Tstring : Tstring export var __val__aa = aa; >__val__aa : new (param: Tstring) => any diff --git a/tests/baselines/reference/assignmentCompatability39.types b/tests/baselines/reference/assignmentCompatability39.types index 9621c62d07c..b23efbbbcfa 100644 --- a/tests/baselines/reference/assignmentCompatability39.types +++ b/tests/baselines/reference/assignmentCompatability39.types @@ -3,15 +3,9 @@ module __test1__ { >__test1__ : typeof __test1__ export interface interfaceWithPublicAndOptional { one: T; two?: U; }; var obj4: interfaceWithPublicAndOptional = { one: 1 };; ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional ->T : T ->U : U >one : T ->T : T >two : U ->U : U >obj4 : interfaceWithPublicAndOptional ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number >1 : 1 @@ -25,12 +19,8 @@ module __test2__ { export class classWithTwoPublic { constructor(public one: T, public two: U) {} } var x2 = new classWithTwoPublic(1, "a");; >classWithTwoPublic : classWithTwoPublic ->T : T ->U : U >one : T ->T : T >two : U ->U : U >x2 : classWithTwoPublic >new classWithTwoPublic(1, "a") : classWithTwoPublic >classWithTwoPublic : typeof classWithTwoPublic diff --git a/tests/baselines/reference/assignmentCompatability4.types b/tests/baselines/reference/assignmentCompatability4.types index bc5e805875c..285fe32e0ae 100644 --- a/tests/baselines/reference/assignmentCompatability4.types +++ b/tests/baselines/reference/assignmentCompatability4.types @@ -3,15 +3,9 @@ module __test1__ { >__test1__ : typeof __test1__ export interface interfaceWithPublicAndOptional { one: T; two?: U; }; var obj4: interfaceWithPublicAndOptional = { one: 1 };; ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional ->T : T ->U : U >one : T ->T : T >two : U ->U : U >obj4 : interfaceWithPublicAndOptional ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number >1 : 1 diff --git a/tests/baselines/reference/assignmentCompatability40.types b/tests/baselines/reference/assignmentCompatability40.types index 31a598ffe25..e95d4c6d685 100644 --- a/tests/baselines/reference/assignmentCompatability40.types +++ b/tests/baselines/reference/assignmentCompatability40.types @@ -3,15 +3,9 @@ module __test1__ { >__test1__ : typeof __test1__ export interface interfaceWithPublicAndOptional { one: T; two?: U; }; var obj4: interfaceWithPublicAndOptional = { one: 1 };; ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional ->T : T ->U : U >one : T ->T : T >two : U ->U : U >obj4 : interfaceWithPublicAndOptional ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number >1 : 1 @@ -25,9 +19,7 @@ module __test2__ { export class classWithPrivate { constructor(private one: T) {} } var x5 = new classWithPrivate(1);; >classWithPrivate : classWithPrivate ->T : T >one : T ->T : T >x5 : classWithPrivate >new classWithPrivate(1) : classWithPrivate >classWithPrivate : typeof classWithPrivate diff --git a/tests/baselines/reference/assignmentCompatability41.types b/tests/baselines/reference/assignmentCompatability41.types index 343cd4e81b6..dd52e0b9a04 100644 --- a/tests/baselines/reference/assignmentCompatability41.types +++ b/tests/baselines/reference/assignmentCompatability41.types @@ -3,15 +3,9 @@ module __test1__ { >__test1__ : typeof __test1__ export interface interfaceWithPublicAndOptional { one: T; two?: U; }; var obj4: interfaceWithPublicAndOptional = { one: 1 };; ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional ->T : T ->U : U >one : T ->T : T >two : U ->U : U >obj4 : interfaceWithPublicAndOptional ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number >1 : 1 @@ -25,12 +19,8 @@ module __test2__ { export class classWithTwoPrivate { constructor(private one: T, private two: U) {} } var x6 = new classWithTwoPrivate(1, "a");; >classWithTwoPrivate : classWithTwoPrivate ->T : T ->U : U >one : T ->T : T >two : U ->U : U >x6 : classWithTwoPrivate >new classWithTwoPrivate(1, "a") : classWithTwoPrivate >classWithTwoPrivate : typeof classWithTwoPrivate diff --git a/tests/baselines/reference/assignmentCompatability42.types b/tests/baselines/reference/assignmentCompatability42.types index 168d718e1e4..3b4ada6639b 100644 --- a/tests/baselines/reference/assignmentCompatability42.types +++ b/tests/baselines/reference/assignmentCompatability42.types @@ -3,15 +3,9 @@ module __test1__ { >__test1__ : typeof __test1__ export interface interfaceWithPublicAndOptional { one: T; two?: U; }; var obj4: interfaceWithPublicAndOptional = { one: 1 };; ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional ->T : T ->U : U >one : T ->T : T >two : U ->U : U >obj4 : interfaceWithPublicAndOptional ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number >1 : 1 @@ -25,12 +19,8 @@ module __test2__ { export class classWithPublicPrivate { constructor(public one: T, private two: U) {} } var x7 = new classWithPublicPrivate(1, "a");; >classWithPublicPrivate : classWithPublicPrivate ->T : T ->U : U >one : T ->T : T >two : U ->U : U >x7 : classWithPublicPrivate >new classWithPublicPrivate(1, "a") : classWithPublicPrivate >classWithPublicPrivate : typeof classWithPublicPrivate diff --git a/tests/baselines/reference/assignmentCompatability43.types b/tests/baselines/reference/assignmentCompatability43.types index 8693eb35fbe..68af6d88275 100644 --- a/tests/baselines/reference/assignmentCompatability43.types +++ b/tests/baselines/reference/assignmentCompatability43.types @@ -3,15 +3,9 @@ module __test1__ { >__test1__ : typeof __test1__ export interface interfaceWithPublicAndOptional { one: T; two?: U; }; var obj4: interfaceWithPublicAndOptional = { one: 1 };; ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional ->T : T ->U : U >one : T ->T : T >two : U ->U : U >obj4 : interfaceWithPublicAndOptional ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number >1 : 1 @@ -24,15 +18,9 @@ module __test2__ { >__test2__ : typeof __test2__ export interface interfaceTwo { one: T; two: U; }; var obj2: interfaceTwo = { one: 1, two: "a" };; ->interfaceTwo : interfaceTwo ->T : T ->U : U >one : T ->T : T >two : U ->U : U >obj2 : interfaceTwo ->interfaceTwo : interfaceTwo >{ one: 1, two: "a" } : { one: number; two: string; } >one : number >1 : 1 diff --git a/tests/baselines/reference/assignmentCompatability5.types b/tests/baselines/reference/assignmentCompatability5.types index 755ce16ec69..2273acaabf2 100644 --- a/tests/baselines/reference/assignmentCompatability5.types +++ b/tests/baselines/reference/assignmentCompatability5.types @@ -3,15 +3,9 @@ module __test1__ { >__test1__ : typeof __test1__ export interface interfaceWithPublicAndOptional { one: T; two?: U; }; var obj4: interfaceWithPublicAndOptional = { one: 1 };; ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional ->T : T ->U : U >one : T ->T : T >two : U ->U : U >obj4 : interfaceWithPublicAndOptional ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number >1 : 1 @@ -24,12 +18,8 @@ module __test2__ { >__test2__ : typeof __test2__ export interface interfaceOne { one: T; }; var obj1: interfaceOne = { one: 1 };; ->interfaceOne : interfaceOne ->T : T >one : T ->T : T >obj1 : interfaceOne ->interfaceOne : interfaceOne >{ one: 1 } : { one: number; } >one : number >1 : 1 diff --git a/tests/baselines/reference/assignmentCompatability6.types b/tests/baselines/reference/assignmentCompatability6.types index d437d5a7469..334ded9f90d 100644 --- a/tests/baselines/reference/assignmentCompatability6.types +++ b/tests/baselines/reference/assignmentCompatability6.types @@ -3,15 +3,9 @@ module __test1__ { >__test1__ : typeof __test1__ export interface interfaceWithPublicAndOptional { one: T; two?: U; }; var obj4: interfaceWithPublicAndOptional = { one: 1 };; ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional ->T : T ->U : U >one : T ->T : T >two : U ->U : U >obj4 : interfaceWithPublicAndOptional ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number >1 : 1 @@ -24,12 +18,8 @@ module __test2__ { >__test2__ : typeof __test2__ export interface interfaceWithOptional { one?: T; }; var obj3: interfaceWithOptional = { };; ->interfaceWithOptional : interfaceWithOptional ->T : T >one : T ->T : T >obj3 : interfaceWithOptional ->interfaceWithOptional : interfaceWithOptional >{ } : {} export var __val__obj3 = obj3; diff --git a/tests/baselines/reference/assignmentCompatability7.types b/tests/baselines/reference/assignmentCompatability7.types index 3dad9966d83..9f3035a6c00 100644 --- a/tests/baselines/reference/assignmentCompatability7.types +++ b/tests/baselines/reference/assignmentCompatability7.types @@ -3,15 +3,9 @@ module __test1__ { >__test1__ : typeof __test1__ export interface interfaceWithPublicAndOptional { one: T; two?: U; }; var obj4: interfaceWithPublicAndOptional = { one: 1 };; ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional ->T : T ->U : U >one : T ->T : T >two : U ->U : U >obj4 : interfaceWithPublicAndOptional ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number >1 : 1 @@ -24,15 +18,9 @@ module __test2__ { >__test2__ : typeof __test2__ export interface interfaceWithPublicAndOptional { one: T; two?: U; }; var obj4: interfaceWithPublicAndOptional = { one: 1 };; ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional ->T : T ->U : U >one : T ->T : T >two : U ->U : U >obj4 : interfaceWithPublicAndOptional ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number >1 : 1 diff --git a/tests/baselines/reference/assignmentCompatability8.types b/tests/baselines/reference/assignmentCompatability8.types index d4cc5ebc33e..82c78c7a4c1 100644 --- a/tests/baselines/reference/assignmentCompatability8.types +++ b/tests/baselines/reference/assignmentCompatability8.types @@ -3,15 +3,9 @@ module __test1__ { >__test1__ : typeof __test1__ export interface interfaceWithPublicAndOptional { one: T; two?: U; }; var obj4: interfaceWithPublicAndOptional = { one: 1 };; ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional ->T : T ->U : U >one : T ->T : T >two : U ->U : U >obj4 : interfaceWithPublicAndOptional ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number >1 : 1 @@ -25,9 +19,7 @@ module __test2__ { export class classWithPublic { constructor(public one: T) {} } var x1 = new classWithPublic(1);; >classWithPublic : classWithPublic ->T : T >one : T ->T : T >x1 : classWithPublic >new classWithPublic(1) : classWithPublic >classWithPublic : typeof classWithPublic diff --git a/tests/baselines/reference/assignmentCompatability9.types b/tests/baselines/reference/assignmentCompatability9.types index 671697f35f7..c640b9d8cf9 100644 --- a/tests/baselines/reference/assignmentCompatability9.types +++ b/tests/baselines/reference/assignmentCompatability9.types @@ -3,15 +3,9 @@ module __test1__ { >__test1__ : typeof __test1__ export interface interfaceWithPublicAndOptional { one: T; two?: U; }; var obj4: interfaceWithPublicAndOptional = { one: 1 };; ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional ->T : T ->U : U >one : T ->T : T >two : U ->U : U >obj4 : interfaceWithPublicAndOptional ->interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number >1 : 1 @@ -25,9 +19,7 @@ module __test2__ { export class classWithOptional { constructor(public one?: T) {} } var x3 = new classWithOptional();; >classWithOptional : classWithOptional ->T : T >one : T ->T : T >x3 : classWithOptional >new classWithOptional() : classWithOptional >classWithOptional : typeof classWithOptional diff --git a/tests/baselines/reference/assignmentCompatability_checking-apply-member-off-of-function-interface.types b/tests/baselines/reference/assignmentCompatability_checking-apply-member-off-of-function-interface.types index 8d92d936bad..bf093a4b752 100644 --- a/tests/baselines/reference/assignmentCompatability_checking-apply-member-off-of-function-interface.types +++ b/tests/baselines/reference/assignmentCompatability_checking-apply-member-off-of-function-interface.types @@ -2,8 +2,6 @@ // 3.8.4 Assignment Compatibility interface Applicable { ->Applicable : Applicable - apply(blah: any); // also works for 'apply' >apply : (blah: any) => any >blah : any @@ -11,7 +9,6 @@ interface Applicable { var x: Applicable; >x : Applicable ->Applicable : Applicable // Should fail x = ''; @@ -47,7 +44,6 @@ x = f; function fn(c: Applicable) { } >fn : (c: Applicable) => void >c : Applicable ->Applicable : Applicable // Should Fail fn(''); diff --git a/tests/baselines/reference/assignmentCompatability_checking-call-member-off-of-function-interface.types b/tests/baselines/reference/assignmentCompatability_checking-call-member-off-of-function-interface.types index 7b512d28fe9..20420a7ce39 100644 --- a/tests/baselines/reference/assignmentCompatability_checking-call-member-off-of-function-interface.types +++ b/tests/baselines/reference/assignmentCompatability_checking-call-member-off-of-function-interface.types @@ -2,8 +2,6 @@ // 3.8.4 Assignment Compatibility interface Callable { ->Callable : Callable - call(blah: any); // also works for 'apply' >call : (blah: any) => any >blah : any @@ -11,7 +9,6 @@ interface Callable { var x: Callable; >x : Callable ->Callable : Callable // Should fail x = ''; @@ -47,7 +44,6 @@ x = f; function fn(c: Callable) { } >fn : (c: Callable) => void >c : Callable ->Callable : Callable // Should Fail fn(''); diff --git a/tests/baselines/reference/assignmentCompatibilityForConstrainedTypeParameters.types b/tests/baselines/reference/assignmentCompatibilityForConstrainedTypeParameters.types index fab8e2baae6..bb224950e8f 100644 --- a/tests/baselines/reference/assignmentCompatibilityForConstrainedTypeParameters.types +++ b/tests/baselines/reference/assignmentCompatibilityForConstrainedTypeParameters.types @@ -1,21 +1,16 @@ === tests/cases/compiler/assignmentCompatibilityForConstrainedTypeParameters.ts === function foo() { >foo : () => void ->T : T >bar : string function bar() { >bar : () => void ->S : S ->T : T var x: S; >x : S ->S : S var y: T; >y : T ->T : T y = x; >y = x : S diff --git a/tests/baselines/reference/assignmentNonObjectTypeConstraints.types b/tests/baselines/reference/assignmentNonObjectTypeConstraints.types index 2037d058aff..06af56203d4 100644 --- a/tests/baselines/reference/assignmentNonObjectTypeConstraints.types +++ b/tests/baselines/reference/assignmentNonObjectTypeConstraints.types @@ -7,9 +7,7 @@ const enum E { A, B, C } function foo(x: T) { >foo : (x: T) => void ->T : T >x : T ->T : T var y: number = x; // Ok >y : number @@ -38,16 +36,10 @@ class B { b } function bar(x: T) { >bar : (x: T) => void ->T : T ->A : A ->B : B >x : T ->T : T var y: A | B = x; // Ok >y : A | B ->A : A ->B : B >x : T } diff --git a/tests/baselines/reference/assignmentStricterConstraints.types b/tests/baselines/reference/assignmentStricterConstraints.types index c1a7c86c744..dfbc3f66352 100644 --- a/tests/baselines/reference/assignmentStricterConstraints.types +++ b/tests/baselines/reference/assignmentStricterConstraints.types @@ -2,13 +2,8 @@ var f = function (x: T, y: S): void { >f : (x: T, y: S) => void >function (x: T, y: S): void { x = y} : (x: T, y: S) => void ->T : T ->S : S ->T : T >x : T ->T : T >y : S ->S : S x = y >x = y : S @@ -19,12 +14,8 @@ var f = function (x: T, y: S): void { var g = function (x: T, y: S): void { } >g : (x: T, y: S) => void >function (x: T, y: S): void { } : (x: T, y: S) => void ->T : T ->S : S >x : T ->T : T >y : S ->S : S g = f >g = f : (x: T, y: S) => void diff --git a/tests/baselines/reference/assignmentToObject.types b/tests/baselines/reference/assignmentToObject.types index f39b1210c01..56b396d9e42 100644 --- a/tests/baselines/reference/assignmentToObject.types +++ b/tests/baselines/reference/assignmentToObject.types @@ -11,6 +11,5 @@ var b: {} = a; // ok var c: Object = a; // should be error >c : Object ->Object : Object >a : { toString: number; } diff --git a/tests/baselines/reference/assignmentToObjectAndFunction.types b/tests/baselines/reference/assignmentToObjectAndFunction.types index d7c6a4f4b12..882eb29ecd1 100644 --- a/tests/baselines/reference/assignmentToObjectAndFunction.types +++ b/tests/baselines/reference/assignmentToObjectAndFunction.types @@ -1,14 +1,12 @@ === tests/cases/compiler/assignmentToObjectAndFunction.ts === var errObj: Object = { toString: 0 }; // Error, incompatible toString >errObj : Object ->Object : Object >{ toString: 0 } : { toString: number; } >toString : number >0 : 0 var goodObj: Object = { >goodObj : Object ->Object : Object >{ toString(x?) { return ""; }} : { toString(x?: any): string; } toString(x?) { @@ -22,7 +20,6 @@ var goodObj: Object = { var errFun: Function = {}; // Error for no call signature >errFun : Function ->Function : Function >{} : {} function foo() { } @@ -38,7 +35,6 @@ module foo { var goodFundule: Function = foo; // ok >goodFundule : Function ->Function : Function >foo : typeof foo function bar() { } @@ -55,7 +51,6 @@ module bar { var goodFundule2: Function = bar; // ok >goodFundule2 : Function ->Function : Function >bar : typeof bar function bad() { } @@ -71,6 +66,5 @@ module bad { var badFundule: Function = bad; // error >badFundule : Function ->Function : Function >bad : typeof bad diff --git a/tests/baselines/reference/assignmentToReferenceTypes.types b/tests/baselines/reference/assignmentToReferenceTypes.types index 78c5e283368..e45fd99363d 100644 --- a/tests/baselines/reference/assignmentToReferenceTypes.types +++ b/tests/baselines/reference/assignmentToReferenceTypes.types @@ -2,7 +2,6 @@ // Should all be allowed module M { ->M : any } M = null; >M = null : null diff --git a/tests/baselines/reference/assignmentTypeNarrowing.types b/tests/baselines/reference/assignmentTypeNarrowing.types index a945084a459..2e2e6ad44eb 100644 --- a/tests/baselines/reference/assignmentTypeNarrowing.types +++ b/tests/baselines/reference/assignmentTypeNarrowing.types @@ -1,7 +1,6 @@ === tests/cases/conformance/expressions/assignmentOperator/assignmentTypeNarrowing.ts === let x: string | number | boolean | RegExp; >x : string | number | boolean | RegExp ->RegExp : RegExp x = ""; >x = "" : "" diff --git a/tests/baselines/reference/assignments.types b/tests/baselines/reference/assignments.types index 70d034a4101..f83b6eadbe0 100644 --- a/tests/baselines/reference/assignments.types +++ b/tests/baselines/reference/assignments.types @@ -9,8 +9,6 @@ // Assign to an interface module M { } ->M : any - M = null; // Error >M = null : null >M : any @@ -67,8 +65,6 @@ function fn2(p) { } interface I { } ->I : I - I = null; // Error >I = null : null >I : any diff --git a/tests/baselines/reference/asyncAliasReturnType_es5.types b/tests/baselines/reference/asyncAliasReturnType_es5.types index 2b8b576a4d3..87090b795e3 100644 --- a/tests/baselines/reference/asyncAliasReturnType_es5.types +++ b/tests/baselines/reference/asyncAliasReturnType_es5.types @@ -1,11 +1,7 @@ === tests/cases/conformance/async/es5/asyncAliasReturnType_es5.ts === type PromiseAlias = Promise; >PromiseAlias : Promise ->T : T ->Promise : Promise ->T : T async function f(): PromiseAlias { >f : () => Promise ->PromiseAlias : Promise } diff --git a/tests/baselines/reference/asyncAliasReturnType_es6.types b/tests/baselines/reference/asyncAliasReturnType_es6.types index 8426d2a3542..85d74896056 100644 --- a/tests/baselines/reference/asyncAliasReturnType_es6.types +++ b/tests/baselines/reference/asyncAliasReturnType_es6.types @@ -1,11 +1,7 @@ === tests/cases/conformance/async/es6/asyncAliasReturnType_es6.ts === type PromiseAlias = Promise; >PromiseAlias : Promise ->T : T ->Promise : Promise ->T : T async function f(): PromiseAlias { >f : () => Promise ->PromiseAlias : Promise } diff --git a/tests/baselines/reference/asyncArrowFunction10_es2017.types b/tests/baselines/reference/asyncArrowFunction10_es2017.types index b9a95c7189b..c03dff71b2c 100644 --- a/tests/baselines/reference/asyncArrowFunction10_es2017.types +++ b/tests/baselines/reference/asyncArrowFunction10_es2017.types @@ -2,11 +2,9 @@ var foo = async (): Promise => { >foo : () => Promise >async (): Promise => { // Legal to use 'await' in a type context. var v: await;} : () => Promise ->Promise : Promise // Legal to use 'await' in a type context. var v: await; >v : any ->await : No type information available! } diff --git a/tests/baselines/reference/asyncArrowFunction10_es5.types b/tests/baselines/reference/asyncArrowFunction10_es5.types index a1c02c7b6fd..89b51279710 100644 --- a/tests/baselines/reference/asyncArrowFunction10_es5.types +++ b/tests/baselines/reference/asyncArrowFunction10_es5.types @@ -2,11 +2,9 @@ var foo = async (): Promise => { >foo : () => Promise >async (): Promise => { // Legal to use 'await' in a type context. var v: await;} : () => Promise ->Promise : Promise // Legal to use 'await' in a type context. var v: await; >v : any ->await : No type information available! } diff --git a/tests/baselines/reference/asyncArrowFunction10_es6.types b/tests/baselines/reference/asyncArrowFunction10_es6.types index 85a55d92479..36207135e68 100644 --- a/tests/baselines/reference/asyncArrowFunction10_es6.types +++ b/tests/baselines/reference/asyncArrowFunction10_es6.types @@ -2,11 +2,9 @@ var foo = async (): Promise => { >foo : () => Promise >async (): Promise => { // Legal to use 'await' in a type context. var v: await;} : () => Promise ->Promise : Promise // Legal to use 'await' in a type context. var v: await; >v : any ->await : No type information available! } diff --git a/tests/baselines/reference/asyncArrowFunction1_es2017.types b/tests/baselines/reference/asyncArrowFunction1_es2017.types index 3f2c057e61f..096ab2eacbe 100644 --- a/tests/baselines/reference/asyncArrowFunction1_es2017.types +++ b/tests/baselines/reference/asyncArrowFunction1_es2017.types @@ -2,6 +2,5 @@ var foo = async (): Promise => { >foo : () => Promise >async (): Promise => {} : () => Promise ->Promise : Promise }; diff --git a/tests/baselines/reference/asyncArrowFunction1_es5.types b/tests/baselines/reference/asyncArrowFunction1_es5.types index 062cfd88974..65c278d72bd 100644 --- a/tests/baselines/reference/asyncArrowFunction1_es5.types +++ b/tests/baselines/reference/asyncArrowFunction1_es5.types @@ -2,6 +2,5 @@ var foo = async (): Promise => { >foo : () => Promise >async (): Promise => {} : () => Promise ->Promise : Promise }; diff --git a/tests/baselines/reference/asyncArrowFunction1_es6.types b/tests/baselines/reference/asyncArrowFunction1_es6.types index f3c5d0887f1..377a21558ef 100644 --- a/tests/baselines/reference/asyncArrowFunction1_es6.types +++ b/tests/baselines/reference/asyncArrowFunction1_es6.types @@ -2,6 +2,5 @@ var foo = async (): Promise => { >foo : () => Promise >async (): Promise => {} : () => Promise ->Promise : Promise }; diff --git a/tests/baselines/reference/asyncArrowFunction6_es2017.types b/tests/baselines/reference/asyncArrowFunction6_es2017.types index d1d8b98944f..e6da9771b74 100644 --- a/tests/baselines/reference/asyncArrowFunction6_es2017.types +++ b/tests/baselines/reference/asyncArrowFunction6_es2017.types @@ -5,5 +5,4 @@ var foo = async (a = await): Promise => { >a : any >await : any > : any ->Promise : Promise } diff --git a/tests/baselines/reference/asyncArrowFunction6_es5.types b/tests/baselines/reference/asyncArrowFunction6_es5.types index d5458c6bc1c..9b1ff5a8ecf 100644 --- a/tests/baselines/reference/asyncArrowFunction6_es5.types +++ b/tests/baselines/reference/asyncArrowFunction6_es5.types @@ -5,5 +5,4 @@ var foo = async (a = await): Promise => { >a : any >await : any > : any ->Promise : Promise } diff --git a/tests/baselines/reference/asyncArrowFunction6_es6.types b/tests/baselines/reference/asyncArrowFunction6_es6.types index 66957807462..43f2914a353 100644 --- a/tests/baselines/reference/asyncArrowFunction6_es6.types +++ b/tests/baselines/reference/asyncArrowFunction6_es6.types @@ -5,5 +5,4 @@ var foo = async (a = await): Promise => { >a : any >await : any > : any ->Promise : Promise } diff --git a/tests/baselines/reference/asyncArrowFunction7_es2017.types b/tests/baselines/reference/asyncArrowFunction7_es2017.types index 48c2195dec5..233be1873b2 100644 --- a/tests/baselines/reference/asyncArrowFunction7_es2017.types +++ b/tests/baselines/reference/asyncArrowFunction7_es2017.types @@ -2,7 +2,6 @@ var bar = async (): Promise => { >bar : () => Promise >async (): Promise => { // 'await' here is an identifier, and not an await expression. var foo = async (a = await): Promise => { }} : () => Promise ->Promise : Promise // 'await' here is an identifier, and not an await expression. var foo = async (a = await): Promise => { @@ -11,6 +10,5 @@ var bar = async (): Promise => { >a : any >await : any > : any ->Promise : Promise } } diff --git a/tests/baselines/reference/asyncArrowFunction7_es5.types b/tests/baselines/reference/asyncArrowFunction7_es5.types index cb468123db7..e65f6c1646e 100644 --- a/tests/baselines/reference/asyncArrowFunction7_es5.types +++ b/tests/baselines/reference/asyncArrowFunction7_es5.types @@ -2,7 +2,6 @@ var bar = async (): Promise => { >bar : () => Promise >async (): Promise => { // 'await' here is an identifier, and not an await expression. var foo = async (a = await): Promise => { }} : () => Promise ->Promise : Promise // 'await' here is an identifier, and not an await expression. var foo = async (a = await): Promise => { @@ -11,6 +10,5 @@ var bar = async (): Promise => { >a : any >await : any > : any ->Promise : Promise } } diff --git a/tests/baselines/reference/asyncArrowFunction7_es6.types b/tests/baselines/reference/asyncArrowFunction7_es6.types index 8687451f03b..1ad05e652a8 100644 --- a/tests/baselines/reference/asyncArrowFunction7_es6.types +++ b/tests/baselines/reference/asyncArrowFunction7_es6.types @@ -2,7 +2,6 @@ var bar = async (): Promise => { >bar : () => Promise >async (): Promise => { // 'await' here is an identifier, and not an await expression. var foo = async (a = await): Promise => { }} : () => Promise ->Promise : Promise // 'await' here is an identifier, and not an await expression. var foo = async (a = await): Promise => { @@ -11,6 +10,5 @@ var bar = async (): Promise => { >a : any >await : any > : any ->Promise : Promise } } diff --git a/tests/baselines/reference/asyncArrowFunction8_es2017.types b/tests/baselines/reference/asyncArrowFunction8_es2017.types index 9e8ca263df4..df476cab5c3 100644 --- a/tests/baselines/reference/asyncArrowFunction8_es2017.types +++ b/tests/baselines/reference/asyncArrowFunction8_es2017.types @@ -2,7 +2,6 @@ var foo = async (): Promise => { >foo : () => Promise >async (): Promise => { var v = { [await]: foo }} : () => Promise ->Promise : Promise var v = { [await]: foo } >v : { [x: number]: () => Promise; } diff --git a/tests/baselines/reference/asyncArrowFunction8_es5.types b/tests/baselines/reference/asyncArrowFunction8_es5.types index 8fd40113995..05095f154fc 100644 --- a/tests/baselines/reference/asyncArrowFunction8_es5.types +++ b/tests/baselines/reference/asyncArrowFunction8_es5.types @@ -2,7 +2,6 @@ var foo = async (): Promise => { >foo : () => Promise >async (): Promise => { var v = { [await]: foo }} : () => Promise ->Promise : Promise var v = { [await]: foo } >v : { [x: number]: () => Promise; } diff --git a/tests/baselines/reference/asyncArrowFunction8_es6.types b/tests/baselines/reference/asyncArrowFunction8_es6.types index 7c53be7843e..89545c2fa84 100644 --- a/tests/baselines/reference/asyncArrowFunction8_es6.types +++ b/tests/baselines/reference/asyncArrowFunction8_es6.types @@ -2,7 +2,6 @@ var foo = async (): Promise => { >foo : () => Promise >async (): Promise => { var v = { [await]: foo }} : () => Promise ->Promise : Promise var v = { [await]: foo } >v : { [x: number]: () => Promise; } diff --git a/tests/baselines/reference/asyncAwaitIsolatedModules_es2017.types b/tests/baselines/reference/asyncAwaitIsolatedModules_es2017.types index b4619989757..24fb4ce9a81 100644 --- a/tests/baselines/reference/asyncAwaitIsolatedModules_es2017.types +++ b/tests/baselines/reference/asyncAwaitIsolatedModules_es2017.types @@ -4,22 +4,18 @@ import { MyPromise } from "missing"; declare var p: Promise; >p : Promise ->Promise : Promise declare var mp: MyPromise; >mp : any ->MyPromise : any async function f0() { } >f0 : () => Promise async function f1(): Promise { } >f1 : () => Promise ->Promise : Promise async function f3(): MyPromise { } >f3 : () => any ->MyPromise : any let f4 = async function() { } >f4 : () => Promise @@ -28,12 +24,10 @@ let f4 = async function() { } let f5 = async function(): Promise { } >f5 : () => Promise >async function(): Promise { } : () => Promise ->Promise : Promise let f6 = async function(): MyPromise { } >f6 : () => any >async function(): MyPromise { } : () => any ->MyPromise : any let f7 = async () => { }; >f7 : () => Promise @@ -42,12 +36,10 @@ let f7 = async () => { }; let f8 = async (): Promise => { }; >f8 : () => Promise >async (): Promise => { } : () => Promise ->Promise : Promise let f9 = async (): MyPromise => { }; >f9 : () => any >async (): MyPromise => { } : () => any ->MyPromise : any let f10 = async () => p; >f10 : () => Promise @@ -62,13 +54,11 @@ let f11 = async () => mp; let f12 = async (): Promise => mp; >f12 : () => Promise >async (): Promise => mp : () => Promise ->Promise : Promise >mp : any let f13 = async (): MyPromise => p; >f13 : () => any >async (): MyPromise => p : () => any ->MyPromise : any >p : Promise let o = { @@ -80,11 +70,9 @@ let o = { async m2(): Promise { }, >m2 : () => Promise ->Promise : Promise async m3(): MyPromise { } >m3 : () => any ->MyPromise : any }; @@ -96,22 +84,18 @@ class C { async m2(): Promise { } >m2 : () => Promise ->Promise : Promise async m3(): MyPromise { } >m3 : () => any ->MyPromise : any static async m4() { } >m4 : () => Promise static async m5(): Promise { } >m5 : () => Promise ->Promise : Promise static async m6(): MyPromise { } >m6 : () => any ->MyPromise : any } module M { diff --git a/tests/baselines/reference/asyncAwaitIsolatedModules_es5.types b/tests/baselines/reference/asyncAwaitIsolatedModules_es5.types index 8630666ec62..cf6aa2eada1 100644 --- a/tests/baselines/reference/asyncAwaitIsolatedModules_es5.types +++ b/tests/baselines/reference/asyncAwaitIsolatedModules_es5.types @@ -4,22 +4,18 @@ import { MyPromise } from "missing"; declare var p: Promise; >p : Promise ->Promise : Promise declare var mp: MyPromise; >mp : any ->MyPromise : any async function f0() { } >f0 : () => Promise async function f1(): Promise { } >f1 : () => Promise ->Promise : Promise async function f3(): MyPromise { } >f3 : () => any ->MyPromise : any let f4 = async function() { } >f4 : () => Promise @@ -28,12 +24,10 @@ let f4 = async function() { } let f5 = async function(): Promise { } >f5 : () => Promise >async function(): Promise { } : () => Promise ->Promise : Promise let f6 = async function(): MyPromise { } >f6 : () => any >async function(): MyPromise { } : () => any ->MyPromise : any let f7 = async () => { }; >f7 : () => Promise @@ -42,12 +36,10 @@ let f7 = async () => { }; let f8 = async (): Promise => { }; >f8 : () => Promise >async (): Promise => { } : () => Promise ->Promise : Promise let f9 = async (): MyPromise => { }; >f9 : () => any >async (): MyPromise => { } : () => any ->MyPromise : any let f10 = async () => p; >f10 : () => Promise @@ -62,13 +54,11 @@ let f11 = async () => mp; let f12 = async (): Promise => mp; >f12 : () => Promise >async (): Promise => mp : () => Promise ->Promise : Promise >mp : any let f13 = async (): MyPromise => p; >f13 : () => any >async (): MyPromise => p : () => any ->MyPromise : any >p : Promise let o = { @@ -80,11 +70,9 @@ let o = { async m2(): Promise { }, >m2 : () => Promise ->Promise : Promise async m3(): MyPromise { } >m3 : () => any ->MyPromise : any }; @@ -96,22 +84,18 @@ class C { async m2(): Promise { } >m2 : () => Promise ->Promise : Promise async m3(): MyPromise { } >m3 : () => any ->MyPromise : any static async m4() { } >m4 : () => Promise static async m5(): Promise { } >m5 : () => Promise ->Promise : Promise static async m6(): MyPromise { } >m6 : () => any ->MyPromise : any } module M { diff --git a/tests/baselines/reference/asyncAwaitIsolatedModules_es6.types b/tests/baselines/reference/asyncAwaitIsolatedModules_es6.types index 7c2d9d0fa0b..a847c040191 100644 --- a/tests/baselines/reference/asyncAwaitIsolatedModules_es6.types +++ b/tests/baselines/reference/asyncAwaitIsolatedModules_es6.types @@ -4,22 +4,18 @@ import { MyPromise } from "missing"; declare var p: Promise; >p : Promise ->Promise : Promise declare var mp: MyPromise; >mp : any ->MyPromise : any async function f0() { } >f0 : () => Promise async function f1(): Promise { } >f1 : () => Promise ->Promise : Promise async function f3(): MyPromise { } >f3 : () => any ->MyPromise : any let f4 = async function() { } >f4 : () => Promise @@ -28,12 +24,10 @@ let f4 = async function() { } let f5 = async function(): Promise { } >f5 : () => Promise >async function(): Promise { } : () => Promise ->Promise : Promise let f6 = async function(): MyPromise { } >f6 : () => any >async function(): MyPromise { } : () => any ->MyPromise : any let f7 = async () => { }; >f7 : () => Promise @@ -42,12 +36,10 @@ let f7 = async () => { }; let f8 = async (): Promise => { }; >f8 : () => Promise >async (): Promise => { } : () => Promise ->Promise : Promise let f9 = async (): MyPromise => { }; >f9 : () => any >async (): MyPromise => { } : () => any ->MyPromise : any let f10 = async () => p; >f10 : () => Promise @@ -62,13 +54,11 @@ let f11 = async () => mp; let f12 = async (): Promise => mp; >f12 : () => Promise >async (): Promise => mp : () => Promise ->Promise : Promise >mp : any let f13 = async (): MyPromise => p; >f13 : () => any >async (): MyPromise => p : () => any ->MyPromise : any >p : Promise let o = { @@ -80,11 +70,9 @@ let o = { async m2(): Promise { }, >m2 : () => Promise ->Promise : Promise async m3(): MyPromise { } >m3 : () => any ->MyPromise : any }; @@ -96,22 +84,18 @@ class C { async m2(): Promise { } >m2 : () => Promise ->Promise : Promise async m3(): MyPromise { } >m3 : () => any ->MyPromise : any static async m4() { } >m4 : () => Promise static async m5(): Promise { } >m5 : () => Promise ->Promise : Promise static async m6(): MyPromise { } >m6 : () => any ->MyPromise : any } module M { diff --git a/tests/baselines/reference/asyncAwaitNestedClasses_es5.types b/tests/baselines/reference/asyncAwaitNestedClasses_es5.types index fd61951d5cc..40f0e5ce9b9 100644 --- a/tests/baselines/reference/asyncAwaitNestedClasses_es5.types +++ b/tests/baselines/reference/asyncAwaitNestedClasses_es5.types @@ -10,7 +10,6 @@ class A { static func2(): Promise { >func2 : () => Promise ->Promise : Promise return new Promise((resolve) => { resolve(null); }); >new Promise((resolve) => { resolve(null); }) : Promise diff --git a/tests/baselines/reference/asyncAwaitWithCapturedBlockScopeVar.types b/tests/baselines/reference/asyncAwaitWithCapturedBlockScopeVar.types index 424959ddb22..865fe3550b0 100644 --- a/tests/baselines/reference/asyncAwaitWithCapturedBlockScopeVar.types +++ b/tests/baselines/reference/asyncAwaitWithCapturedBlockScopeVar.types @@ -95,7 +95,6 @@ async function fn3() { async function fn4(): Promise { >fn4 : () => Promise ->Promise : Promise let ar = []; >ar : any[] diff --git a/tests/baselines/reference/asyncAwait_es2017.types b/tests/baselines/reference/asyncAwait_es2017.types index 42b54aa56be..4d657ab2ca3 100644 --- a/tests/baselines/reference/asyncAwait_es2017.types +++ b/tests/baselines/reference/asyncAwait_es2017.types @@ -1,9 +1,6 @@ === tests/cases/conformance/async/es2017/asyncAwait_es2017.ts === type MyPromise = Promise; >MyPromise : Promise ->T : T ->Promise : Promise ->T : T declare var MyPromise: typeof Promise; >MyPromise : PromiseConstructor @@ -11,22 +8,18 @@ declare var MyPromise: typeof Promise; declare var p: Promise; >p : Promise ->Promise : Promise declare var mp: MyPromise; >mp : Promise ->MyPromise : Promise async function f0() { } >f0 : () => Promise async function f1(): Promise { } >f1 : () => Promise ->Promise : Promise async function f3(): MyPromise { } >f3 : () => Promise ->MyPromise : Promise let f4 = async function() { } >f4 : () => Promise @@ -35,12 +28,10 @@ let f4 = async function() { } let f5 = async function(): Promise { } >f5 : () => Promise >async function(): Promise { } : () => Promise ->Promise : Promise let f6 = async function(): MyPromise { } >f6 : () => Promise >async function(): MyPromise { } : () => Promise ->MyPromise : Promise let f7 = async () => { }; >f7 : () => Promise @@ -49,12 +40,10 @@ let f7 = async () => { }; let f8 = async (): Promise => { }; >f8 : () => Promise >async (): Promise => { } : () => Promise ->Promise : Promise let f9 = async (): MyPromise => { }; >f9 : () => Promise >async (): MyPromise => { } : () => Promise ->MyPromise : Promise let f10 = async () => p; >f10 : () => Promise @@ -69,13 +58,11 @@ let f11 = async () => mp; let f12 = async (): Promise => mp; >f12 : () => Promise >async (): Promise => mp : () => Promise ->Promise : Promise >mp : Promise let f13 = async (): MyPromise => p; >f13 : () => Promise >async (): MyPromise => p : () => Promise ->MyPromise : Promise >p : Promise let o = { @@ -87,11 +74,9 @@ let o = { async m2(): Promise { }, >m2 : () => Promise ->Promise : Promise async m3(): MyPromise { } >m3 : () => Promise ->MyPromise : Promise }; @@ -103,22 +88,18 @@ class C { async m2(): Promise { } >m2 : () => Promise ->Promise : Promise async m3(): MyPromise { } >m3 : () => Promise ->MyPromise : Promise static async m4() { } >m4 : () => Promise static async m5(): Promise { } >m5 : () => Promise ->Promise : Promise static async m6(): MyPromise { } >m6 : () => Promise ->MyPromise : Promise } module M { diff --git a/tests/baselines/reference/asyncAwait_es5.types b/tests/baselines/reference/asyncAwait_es5.types index 6be39599fa1..fb10a6dd043 100644 --- a/tests/baselines/reference/asyncAwait_es5.types +++ b/tests/baselines/reference/asyncAwait_es5.types @@ -1,9 +1,6 @@ === tests/cases/conformance/async/es5/asyncAwait_es5.ts === type MyPromise = Promise; >MyPromise : Promise ->T : T ->Promise : Promise ->T : T declare var MyPromise: typeof Promise; >MyPromise : PromiseConstructor @@ -11,22 +8,18 @@ declare var MyPromise: typeof Promise; declare var p: Promise; >p : Promise ->Promise : Promise declare var mp: MyPromise; >mp : Promise ->MyPromise : Promise async function f0() { } >f0 : () => Promise async function f1(): Promise { } >f1 : () => Promise ->Promise : Promise async function f3(): MyPromise { } >f3 : () => Promise ->MyPromise : Promise let f4 = async function() { } >f4 : () => Promise @@ -35,12 +28,10 @@ let f4 = async function() { } let f5 = async function(): Promise { } >f5 : () => Promise >async function(): Promise { } : () => Promise ->Promise : Promise let f6 = async function(): MyPromise { } >f6 : () => Promise >async function(): MyPromise { } : () => Promise ->MyPromise : Promise let f7 = async () => { }; >f7 : () => Promise @@ -49,12 +40,10 @@ let f7 = async () => { }; let f8 = async (): Promise => { }; >f8 : () => Promise >async (): Promise => { } : () => Promise ->Promise : Promise let f9 = async (): MyPromise => { }; >f9 : () => Promise >async (): MyPromise => { } : () => Promise ->MyPromise : Promise let f10 = async () => p; >f10 : () => Promise @@ -69,13 +58,11 @@ let f11 = async () => mp; let f12 = async (): Promise => mp; >f12 : () => Promise >async (): Promise => mp : () => Promise ->Promise : Promise >mp : Promise let f13 = async (): MyPromise => p; >f13 : () => Promise >async (): MyPromise => p : () => Promise ->MyPromise : Promise >p : Promise let o = { @@ -87,11 +74,9 @@ let o = { async m2(): Promise { }, >m2 : () => Promise ->Promise : Promise async m3(): MyPromise { } >m3 : () => Promise ->MyPromise : Promise }; @@ -103,22 +88,18 @@ class C { async m2(): Promise { } >m2 : () => Promise ->Promise : Promise async m3(): MyPromise { } >m3 : () => Promise ->MyPromise : Promise static async m4() { } >m4 : () => Promise static async m5(): Promise { } >m5 : () => Promise ->Promise : Promise static async m6(): MyPromise { } >m6 : () => Promise ->MyPromise : Promise } module M { diff --git a/tests/baselines/reference/asyncAwait_es6.types b/tests/baselines/reference/asyncAwait_es6.types index de6b7177e42..cd9a05ee48e 100644 --- a/tests/baselines/reference/asyncAwait_es6.types +++ b/tests/baselines/reference/asyncAwait_es6.types @@ -1,9 +1,6 @@ === tests/cases/conformance/async/es6/asyncAwait_es6.ts === type MyPromise = Promise; >MyPromise : Promise ->T : T ->Promise : Promise ->T : T declare var MyPromise: typeof Promise; >MyPromise : PromiseConstructor @@ -11,22 +8,18 @@ declare var MyPromise: typeof Promise; declare var p: Promise; >p : Promise ->Promise : Promise declare var mp: MyPromise; >mp : Promise ->MyPromise : Promise async function f0() { } >f0 : () => Promise async function f1(): Promise { } >f1 : () => Promise ->Promise : Promise async function f3(): MyPromise { } >f3 : () => Promise ->MyPromise : Promise let f4 = async function() { } >f4 : () => Promise @@ -35,12 +28,10 @@ let f4 = async function() { } let f5 = async function(): Promise { } >f5 : () => Promise >async function(): Promise { } : () => Promise ->Promise : Promise let f6 = async function(): MyPromise { } >f6 : () => Promise >async function(): MyPromise { } : () => Promise ->MyPromise : Promise let f7 = async () => { }; >f7 : () => Promise @@ -49,12 +40,10 @@ let f7 = async () => { }; let f8 = async (): Promise => { }; >f8 : () => Promise >async (): Promise => { } : () => Promise ->Promise : Promise let f9 = async (): MyPromise => { }; >f9 : () => Promise >async (): MyPromise => { } : () => Promise ->MyPromise : Promise let f10 = async () => p; >f10 : () => Promise @@ -69,13 +58,11 @@ let f11 = async () => mp; let f12 = async (): Promise => mp; >f12 : () => Promise >async (): Promise => mp : () => Promise ->Promise : Promise >mp : Promise let f13 = async (): MyPromise => p; >f13 : () => Promise >async (): MyPromise => p : () => Promise ->MyPromise : Promise >p : Promise let o = { @@ -87,11 +74,9 @@ let o = { async m2(): Promise { }, >m2 : () => Promise ->Promise : Promise async m3(): MyPromise { } >m3 : () => Promise ->MyPromise : Promise }; @@ -103,22 +88,18 @@ class C { async m2(): Promise { } >m2 : () => Promise ->Promise : Promise async m3(): MyPromise { } >m3 : () => Promise ->MyPromise : Promise static async m4() { } >m4 : () => Promise static async m5(): Promise { } >m5 : () => Promise ->Promise : Promise static async m6(): MyPromise { } >m6 : () => Promise ->MyPromise : Promise } module M { diff --git a/tests/baselines/reference/asyncDeclare_es5.types b/tests/baselines/reference/asyncDeclare_es5.types index 91f034324eb..6329d72ec7d 100644 --- a/tests/baselines/reference/asyncDeclare_es5.types +++ b/tests/baselines/reference/asyncDeclare_es5.types @@ -1,5 +1,4 @@ === tests/cases/conformance/async/es5/asyncDeclare_es5.ts === declare async function foo(): Promise; >foo : () => Promise ->Promise : Promise diff --git a/tests/baselines/reference/asyncDeclare_es6.types b/tests/baselines/reference/asyncDeclare_es6.types index b4cb50157a3..384240cd1c9 100644 --- a/tests/baselines/reference/asyncDeclare_es6.types +++ b/tests/baselines/reference/asyncDeclare_es6.types @@ -1,5 +1,4 @@ === tests/cases/conformance/async/es6/asyncDeclare_es6.ts === declare async function foo(): Promise; >foo : () => Promise ->Promise : Promise diff --git a/tests/baselines/reference/asyncFunctionDeclaration11_es2017.types b/tests/baselines/reference/asyncFunctionDeclaration11_es2017.types index b86601bf33d..0ddbebfd337 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration11_es2017.types +++ b/tests/baselines/reference/asyncFunctionDeclaration11_es2017.types @@ -1,5 +1,4 @@ === tests/cases/conformance/async/es2017/functionDeclarations/asyncFunctionDeclaration11_es2017.ts === async function await(): Promise { >await : () => Promise ->Promise : Promise } diff --git a/tests/baselines/reference/asyncFunctionDeclaration11_es5.types b/tests/baselines/reference/asyncFunctionDeclaration11_es5.types index fdda0b0a084..28db2d69bff 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration11_es5.types +++ b/tests/baselines/reference/asyncFunctionDeclaration11_es5.types @@ -1,5 +1,4 @@ === tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration11_es5.ts === async function await(): Promise { >await : () => Promise ->Promise : Promise } diff --git a/tests/baselines/reference/asyncFunctionDeclaration11_es6.types b/tests/baselines/reference/asyncFunctionDeclaration11_es6.types index 65896e7b3b5..22afecd2566 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration11_es6.types +++ b/tests/baselines/reference/asyncFunctionDeclaration11_es6.types @@ -1,5 +1,4 @@ === tests/cases/conformance/async/es6/functionDeclarations/asyncFunctionDeclaration11_es6.ts === async function await(): Promise { >await : () => Promise ->Promise : Promise } diff --git a/tests/baselines/reference/asyncFunctionDeclaration12_es2017.types b/tests/baselines/reference/asyncFunctionDeclaration12_es2017.types index 5f4155c4975..46fd50a46e3 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration12_es2017.types +++ b/tests/baselines/reference/asyncFunctionDeclaration12_es2017.types @@ -4,5 +4,4 @@ var v = async function await(): Promise { } >async function : () => any >await : any >(): Promise { } : () => Promise ->Promise : Promise diff --git a/tests/baselines/reference/asyncFunctionDeclaration12_es5.types b/tests/baselines/reference/asyncFunctionDeclaration12_es5.types index c7e3a6feeb5..1432adc522d 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration12_es5.types +++ b/tests/baselines/reference/asyncFunctionDeclaration12_es5.types @@ -4,5 +4,4 @@ var v = async function await(): Promise { } >async function : () => any >await : any >(): Promise { } : () => Promise ->Promise : Promise diff --git a/tests/baselines/reference/asyncFunctionDeclaration12_es6.types b/tests/baselines/reference/asyncFunctionDeclaration12_es6.types index 4eb4fcde054..251b01f7dc0 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration12_es6.types +++ b/tests/baselines/reference/asyncFunctionDeclaration12_es6.types @@ -4,5 +4,4 @@ var v = async function await(): Promise { } >async function : () => any >await : any >(): Promise { } : () => Promise ->Promise : Promise diff --git a/tests/baselines/reference/asyncFunctionDeclaration13_es2017.types b/tests/baselines/reference/asyncFunctionDeclaration13_es2017.types index c93c19da496..0aff4cfd564 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration13_es2017.types +++ b/tests/baselines/reference/asyncFunctionDeclaration13_es2017.types @@ -1,11 +1,9 @@ === tests/cases/conformance/async/es2017/functionDeclarations/asyncFunctionDeclaration13_es2017.ts === async function foo(): Promise { >foo : () => Promise ->Promise : Promise // Legal to use 'await' in a type context. var v: await; >v : any ->await : No type information available! } diff --git a/tests/baselines/reference/asyncFunctionDeclaration13_es5.types b/tests/baselines/reference/asyncFunctionDeclaration13_es5.types index c8ec02c275d..6d8dec2ddbf 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration13_es5.types +++ b/tests/baselines/reference/asyncFunctionDeclaration13_es5.types @@ -1,11 +1,9 @@ === tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration13_es5.ts === async function foo(): Promise { >foo : () => Promise ->Promise : Promise // Legal to use 'await' in a type context. var v: await; >v : any ->await : No type information available! } diff --git a/tests/baselines/reference/asyncFunctionDeclaration13_es6.types b/tests/baselines/reference/asyncFunctionDeclaration13_es6.types index 7e963caab85..8ea5795be3c 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration13_es6.types +++ b/tests/baselines/reference/asyncFunctionDeclaration13_es6.types @@ -1,11 +1,9 @@ === tests/cases/conformance/async/es6/functionDeclarations/asyncFunctionDeclaration13_es6.ts === async function foo(): Promise { >foo : () => Promise ->Promise : Promise // Legal to use 'await' in a type context. var v: await; >v : any ->await : No type information available! } diff --git a/tests/baselines/reference/asyncFunctionDeclaration14_es2017.types b/tests/baselines/reference/asyncFunctionDeclaration14_es2017.types index 1e505f93a2c..aca13d27113 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration14_es2017.types +++ b/tests/baselines/reference/asyncFunctionDeclaration14_es2017.types @@ -1,7 +1,6 @@ === tests/cases/conformance/async/es2017/functionDeclarations/asyncFunctionDeclaration14_es2017.ts === async function foo(): Promise { >foo : () => Promise ->Promise : Promise return; } diff --git a/tests/baselines/reference/asyncFunctionDeclaration14_es5.types b/tests/baselines/reference/asyncFunctionDeclaration14_es5.types index 5c2575c9cc9..04c18734bc0 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration14_es5.types +++ b/tests/baselines/reference/asyncFunctionDeclaration14_es5.types @@ -1,7 +1,6 @@ === tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration14_es5.ts === async function foo(): Promise { >foo : () => Promise ->Promise : Promise return; } diff --git a/tests/baselines/reference/asyncFunctionDeclaration14_es6.types b/tests/baselines/reference/asyncFunctionDeclaration14_es6.types index 7727ffafaeb..f7d6ae6a918 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration14_es6.types +++ b/tests/baselines/reference/asyncFunctionDeclaration14_es6.types @@ -1,7 +1,6 @@ === tests/cases/conformance/async/es6/functionDeclarations/asyncFunctionDeclaration14_es6.ts === async function foo(): Promise { >foo : () => Promise ->Promise : Promise return; } diff --git a/tests/baselines/reference/asyncFunctionDeclaration15_es5.types b/tests/baselines/reference/asyncFunctionDeclaration15_es5.types index 5ed68d1ab24..dc7f69e0d02 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration15_es5.types +++ b/tests/baselines/reference/asyncFunctionDeclaration15_es5.types @@ -12,7 +12,6 @@ declare let obj: { then: string; }; declare let thenable: Thenable; >thenable : Thenable ->Thenable : Thenable async function fn1() { } // valid: Promise >fn1 : () => Promise @@ -28,11 +27,9 @@ async function fn4(): number { } // error async function fn5(): PromiseLike { } // error >fn5 : () => PromiseLike ->PromiseLike : PromiseLike async function fn6(): Thenable { } // error >fn6 : () => Thenable ->Thenable : Thenable async function fn7() { return; } // valid: Promise >fn7 : () => Promise diff --git a/tests/baselines/reference/asyncFunctionDeclaration15_es6.types b/tests/baselines/reference/asyncFunctionDeclaration15_es6.types index b3b176cc812..9955f7708e6 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration15_es6.types +++ b/tests/baselines/reference/asyncFunctionDeclaration15_es6.types @@ -12,7 +12,6 @@ declare let obj: { then: string; }; declare let thenable: Thenable; >thenable : Thenable ->Thenable : Thenable async function fn1() { } // valid: Promise >fn1 : () => Promise @@ -28,11 +27,9 @@ async function fn4(): number { } // error async function fn5(): PromiseLike { } // error >fn5 : () => PromiseLike ->PromiseLike : PromiseLike async function fn6(): Thenable { } // error >fn6 : () => Thenable ->Thenable : Thenable async function fn7() { return; } // valid: Promise >fn7 : () => Promise diff --git a/tests/baselines/reference/asyncFunctionDeclaration1_es2017.types b/tests/baselines/reference/asyncFunctionDeclaration1_es2017.types index ff97e686c43..6e862303e8e 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration1_es2017.types +++ b/tests/baselines/reference/asyncFunctionDeclaration1_es2017.types @@ -1,5 +1,4 @@ === tests/cases/conformance/async/es2017/functionDeclarations/asyncFunctionDeclaration1_es2017.ts === async function foo(): Promise { >foo : () => Promise ->Promise : Promise } diff --git a/tests/baselines/reference/asyncFunctionDeclaration1_es5.types b/tests/baselines/reference/asyncFunctionDeclaration1_es5.types index b1336715bfb..c2f7b9d99c3 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration1_es5.types +++ b/tests/baselines/reference/asyncFunctionDeclaration1_es5.types @@ -1,5 +1,4 @@ === tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration1_es5.ts === async function foo(): Promise { >foo : () => Promise ->Promise : Promise } diff --git a/tests/baselines/reference/asyncFunctionDeclaration1_es6.types b/tests/baselines/reference/asyncFunctionDeclaration1_es6.types index 5cba25724f0..18eb92432bc 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration1_es6.types +++ b/tests/baselines/reference/asyncFunctionDeclaration1_es6.types @@ -1,5 +1,4 @@ === tests/cases/conformance/async/es6/functionDeclarations/asyncFunctionDeclaration1_es6.ts === async function foo(): Promise { >foo : () => Promise ->Promise : Promise } diff --git a/tests/baselines/reference/asyncFunctionDeclaration6_es2017.types b/tests/baselines/reference/asyncFunctionDeclaration6_es2017.types index 5a1b84feae4..8ffd052c814 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration6_es2017.types +++ b/tests/baselines/reference/asyncFunctionDeclaration6_es2017.types @@ -4,5 +4,4 @@ async function foo(a = await): Promise { >a : any >await : any > : any ->Promise : Promise } diff --git a/tests/baselines/reference/asyncFunctionDeclaration6_es5.types b/tests/baselines/reference/asyncFunctionDeclaration6_es5.types index 02dd3d4be49..e03f663dc68 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration6_es5.types +++ b/tests/baselines/reference/asyncFunctionDeclaration6_es5.types @@ -4,5 +4,4 @@ async function foo(a = await): Promise { >a : any >await : any > : any ->Promise : Promise } diff --git a/tests/baselines/reference/asyncFunctionDeclaration6_es6.types b/tests/baselines/reference/asyncFunctionDeclaration6_es6.types index b65c4ef61d3..00e4afc840d 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration6_es6.types +++ b/tests/baselines/reference/asyncFunctionDeclaration6_es6.types @@ -4,5 +4,4 @@ async function foo(a = await): Promise { >a : any >await : any > : any ->Promise : Promise } diff --git a/tests/baselines/reference/asyncFunctionDeclaration7_es2017.types b/tests/baselines/reference/asyncFunctionDeclaration7_es2017.types index 1d25294f229..f16c9283df3 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration7_es2017.types +++ b/tests/baselines/reference/asyncFunctionDeclaration7_es2017.types @@ -1,7 +1,6 @@ === tests/cases/conformance/async/es2017/functionDeclarations/asyncFunctionDeclaration7_es2017.ts === async function bar(): Promise { >bar : () => Promise ->Promise : Promise // 'await' here is an identifier, and not a yield expression. async function foo(a = await): Promise { @@ -9,6 +8,5 @@ async function bar(): Promise { >a : any >await : any > : any ->Promise : Promise } } diff --git a/tests/baselines/reference/asyncFunctionDeclaration7_es5.types b/tests/baselines/reference/asyncFunctionDeclaration7_es5.types index f3bc39f8019..f6622a6ce54 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration7_es5.types +++ b/tests/baselines/reference/asyncFunctionDeclaration7_es5.types @@ -1,7 +1,6 @@ === tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration7_es5.ts === async function bar(): Promise { >bar : () => Promise ->Promise : Promise // 'await' here is an identifier, and not a yield expression. async function foo(a = await): Promise { @@ -9,6 +8,5 @@ async function bar(): Promise { >a : any >await : any > : any ->Promise : Promise } } diff --git a/tests/baselines/reference/asyncFunctionDeclaration7_es6.types b/tests/baselines/reference/asyncFunctionDeclaration7_es6.types index 8a55a2377e2..b30bb44317d 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration7_es6.types +++ b/tests/baselines/reference/asyncFunctionDeclaration7_es6.types @@ -1,7 +1,6 @@ === tests/cases/conformance/async/es6/functionDeclarations/asyncFunctionDeclaration7_es6.ts === async function bar(): Promise { >bar : () => Promise ->Promise : Promise // 'await' here is an identifier, and not a yield expression. async function foo(a = await): Promise { @@ -9,6 +8,5 @@ async function bar(): Promise { >a : any >await : any > : any ->Promise : Promise } } diff --git a/tests/baselines/reference/asyncFunctionDeclaration9_es2017.types b/tests/baselines/reference/asyncFunctionDeclaration9_es2017.types index 47bab654da4..e137ff2f05f 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration9_es2017.types +++ b/tests/baselines/reference/asyncFunctionDeclaration9_es2017.types @@ -1,7 +1,6 @@ === tests/cases/conformance/async/es2017/functionDeclarations/asyncFunctionDeclaration9_es2017.ts === async function foo(): Promise { >foo : () => Promise ->Promise : Promise var v = { [await]: foo } >v : { [x: number]: () => Promise; } diff --git a/tests/baselines/reference/asyncFunctionDeclaration9_es5.types b/tests/baselines/reference/asyncFunctionDeclaration9_es5.types index a049fbc9faa..9db2c54c2b6 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration9_es5.types +++ b/tests/baselines/reference/asyncFunctionDeclaration9_es5.types @@ -1,7 +1,6 @@ === tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration9_es5.ts === async function foo(): Promise { >foo : () => Promise ->Promise : Promise var v = { [await]: foo } >v : { [x: number]: () => Promise; } diff --git a/tests/baselines/reference/asyncFunctionDeclaration9_es6.types b/tests/baselines/reference/asyncFunctionDeclaration9_es6.types index ad3ad1e7b0e..c0a9edc7326 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration9_es6.types +++ b/tests/baselines/reference/asyncFunctionDeclaration9_es6.types @@ -1,7 +1,6 @@ === tests/cases/conformance/async/es6/functionDeclarations/asyncFunctionDeclaration9_es6.ts === async function foo(): Promise { >foo : () => Promise ->Promise : Promise var v = { [await]: foo } >v : { [x: number]: () => Promise; } diff --git a/tests/baselines/reference/asyncFunctionReturnType.types b/tests/baselines/reference/asyncFunctionReturnType.types index d1dab14ba87..d2cb63e0a35 100644 --- a/tests/baselines/reference/asyncFunctionReturnType.types +++ b/tests/baselines/reference/asyncFunctionReturnType.types @@ -11,7 +11,6 @@ async function fAsync() { async function fAsyncExplicit(): Promise<[number, boolean]> { >fAsyncExplicit : () => Promise<[number, boolean]> ->Promise : Promise // This is contextually typed as a tuple. return [1, true]; @@ -22,8 +21,6 @@ async function fAsyncExplicit(): Promise<[number, boolean]> { // https://github.com/Microsoft/TypeScript/issues/13128 interface Obj { ->Obj : Obj - stringProp: string; >stringProp : string @@ -34,9 +31,6 @@ interface Obj { async function fIndexedTypeForStringProp(obj: Obj): Promise { >fIndexedTypeForStringProp : (obj: Obj) => Promise >obj : Obj ->Obj : Obj ->Promise : Promise ->Obj : Obj return obj.stringProp; >obj.stringProp : string @@ -47,9 +41,6 @@ async function fIndexedTypeForStringProp(obj: Obj): Promise { async function fIndexedTypeForPromiseOfStringProp(obj: Obj): Promise { >fIndexedTypeForPromiseOfStringProp : (obj: Obj) => Promise >obj : Obj ->Obj : Obj ->Promise : Promise ->Obj : Obj return Promise.resolve(obj.stringProp); >Promise.resolve(obj.stringProp) : Promise @@ -64,16 +55,12 @@ async function fIndexedTypeForPromiseOfStringProp(obj: Obj): Promise { >fIndexedTypeForExplicitPromiseOfStringProp : (obj: Obj) => Promise >obj : Obj ->Obj : Obj ->Promise : Promise ->Obj : Obj return Promise.resolve(obj.stringProp); >Promise.resolve(obj.stringProp) : Promise >Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } >Promise : PromiseConstructor >resolve : { (value: T | PromiseLike): Promise; (): Promise; } ->Obj : Obj >obj.stringProp : string >obj : Obj >stringProp : string @@ -82,9 +69,6 @@ async function fIndexedTypeForExplicitPromiseOfStringProp(obj: Obj): Promise { >fIndexedTypeForAnyProp : (obj: Obj) => Promise >obj : Obj ->Obj : Obj ->Promise : Promise ->Obj : Obj return obj.anyProp; >obj.anyProp : any @@ -95,9 +79,6 @@ async function fIndexedTypeForAnyProp(obj: Obj): Promise { async function fIndexedTypeForPromiseOfAnyProp(obj: Obj): Promise { >fIndexedTypeForPromiseOfAnyProp : (obj: Obj) => Promise >obj : Obj ->Obj : Obj ->Promise : Promise ->Obj : Obj return Promise.resolve(obj.anyProp); >Promise.resolve(obj.anyProp) : Promise @@ -112,16 +93,12 @@ async function fIndexedTypeForPromiseOfAnyProp(obj: Obj): Promise { >fIndexedTypeForExplicitPromiseOfAnyProp : (obj: Obj) => Promise >obj : Obj ->Obj : Obj ->Promise : Promise ->Obj : Obj return Promise.resolve(obj.anyProp); >Promise.resolve(obj.anyProp) : Promise >Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } >Promise : PromiseConstructor >resolve : { (value: T | PromiseLike): Promise; (): Promise; } ->Obj : Obj >obj.anyProp : any >obj : Obj >anyProp : any @@ -129,12 +106,7 @@ async function fIndexedTypeForExplicitPromiseOfAnyProp(obj: Obj): Promise(obj: TObj): Promise { >fGenericIndexedTypeForStringProp : (obj: TObj) => Promise ->TObj : TObj ->Obj : Obj >obj : TObj ->TObj : TObj ->Promise : Promise ->TObj : TObj return obj.stringProp; >obj.stringProp : string @@ -144,12 +116,7 @@ async function fGenericIndexedTypeForStringProp(obj: TObj): Pr async function fGenericIndexedTypeForPromiseOfStringProp(obj: TObj): Promise { >fGenericIndexedTypeForPromiseOfStringProp : (obj: TObj) => Promise ->TObj : TObj ->Obj : Obj >obj : TObj ->TObj : TObj ->Promise : Promise ->TObj : TObj return Promise.resolve(obj.stringProp); >Promise.resolve(obj.stringProp) : Promise @@ -163,19 +130,13 @@ async function fGenericIndexedTypeForPromiseOfStringProp(obj: async function fGenericIndexedTypeForExplicitPromiseOfStringProp(obj: TObj): Promise { >fGenericIndexedTypeForExplicitPromiseOfStringProp : (obj: TObj) => Promise ->TObj : TObj ->Obj : Obj >obj : TObj ->TObj : TObj ->Promise : Promise ->TObj : TObj return Promise.resolve(obj.stringProp); >Promise.resolve(obj.stringProp) : Promise >Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } >Promise : PromiseConstructor >resolve : { (value: T | PromiseLike): Promise; (): Promise; } ->TObj : TObj >obj.stringProp : string >obj : TObj >stringProp : string @@ -183,12 +144,7 @@ async function fGenericIndexedTypeForExplicitPromiseOfStringProp(obj: TObj): Promise { >fGenericIndexedTypeForAnyProp : (obj: TObj) => Promise ->TObj : TObj ->Obj : Obj >obj : TObj ->TObj : TObj ->Promise : Promise ->TObj : TObj return obj.anyProp; >obj.anyProp : any @@ -198,12 +154,7 @@ async function fGenericIndexedTypeForAnyProp(obj: TObj): Promi async function fGenericIndexedTypeForPromiseOfAnyProp(obj: TObj): Promise { >fGenericIndexedTypeForPromiseOfAnyProp : (obj: TObj) => Promise ->TObj : TObj ->Obj : Obj >obj : TObj ->TObj : TObj ->Promise : Promise ->TObj : TObj return Promise.resolve(obj.anyProp); >Promise.resolve(obj.anyProp) : Promise @@ -217,19 +168,13 @@ async function fGenericIndexedTypeForPromiseOfAnyProp(obj: TOb async function fGenericIndexedTypeForExplicitPromiseOfAnyProp(obj: TObj): Promise { >fGenericIndexedTypeForExplicitPromiseOfAnyProp : (obj: TObj) => Promise ->TObj : TObj ->Obj : Obj >obj : TObj ->TObj : TObj ->Promise : Promise ->TObj : TObj return Promise.resolve(obj.anyProp); >Promise.resolve(obj.anyProp) : Promise >Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } >Promise : PromiseConstructor >resolve : { (value: T | PromiseLike): Promise; (): Promise; } ->TObj : TObj >obj.anyProp : any >obj : TObj >anyProp : any @@ -237,17 +182,8 @@ async function fGenericIndexedTypeForExplicitPromiseOfAnyProp( async function fGenericIndexedTypeForKProp(obj: TObj, key: K): Promise { >fGenericIndexedTypeForKProp : (obj: TObj, key: K) => Promise ->TObj : TObj ->Obj : Obj ->K : K ->TObj : TObj >obj : TObj ->TObj : TObj >key : K ->K : K ->Promise : Promise ->TObj : TObj ->K : K return obj[key]; >obj[key] : TObj[K] @@ -257,17 +193,8 @@ async function fGenericIndexedTypeForKProp(obj: TObj, key: K): Promise { >fGenericIndexedTypeForPromiseOfKProp : (obj: TObj, key: K) => Promise ->TObj : TObj ->Obj : Obj ->K : K ->TObj : TObj >obj : TObj ->TObj : TObj >key : K ->K : K ->Promise : Promise ->TObj : TObj ->K : K return Promise.resolve(obj[key]); >Promise.resolve(obj[key]) : Promise @@ -281,25 +208,14 @@ async function fGenericIndexedTypeForPromiseOfKProp(obj: TObj, key: K): Promise { >fGenericIndexedTypeForExplicitPromiseOfKProp : (obj: TObj, key: K) => Promise ->TObj : TObj ->Obj : Obj ->K : K ->TObj : TObj >obj : TObj ->TObj : TObj >key : K ->K : K ->Promise : Promise ->TObj : TObj ->K : K return Promise.resolve(obj[key]); >Promise.resolve(obj[key]) : Promise >Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } >Promise : PromiseConstructor >resolve : { (value: T | PromiseLike): Promise; (): Promise; } ->TObj : TObj ->K : K >obj[key] : TObj[K] >obj : TObj >key : K diff --git a/tests/baselines/reference/asyncFunctionsAndStrictNullChecks.types b/tests/baselines/reference/asyncFunctionsAndStrictNullChecks.types index bc482898216..33ccf9c331f 100644 --- a/tests/baselines/reference/asyncFunctionsAndStrictNullChecks.types +++ b/tests/baselines/reference/asyncFunctionsAndStrictNullChecks.types @@ -1,82 +1,46 @@ === tests/cases/compiler/asyncFunctionsAndStrictNullChecks.ts === declare namespace Windows.Foundation { ->Windows : any ->Foundation : any - interface IPromise { ->IPromise : IPromise ->TResult : TResult - then(success?: (value: TResult) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; >then : { (success?: ((value: TResult) => IPromise) | undefined, error?: ((error: any) => IPromise) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => IPromise) | undefined, error?: ((error: any) => U) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => U) | undefined, error?: ((error: any) => IPromise) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => U) | undefined, error?: ((error: any) => U) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; } ->U : U >success : ((value: TResult) => IPromise) | undefined >value : TResult ->TResult : TResult ->IPromise : IPromise ->U : U >error : ((error: any) => IPromise) | undefined >error : any ->IPromise : IPromise ->U : U >progress : ((progress: any) => void) | undefined >progress : any ->IPromise : IPromise ->U : U then(success?: (value: TResult) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; >then : { (success?: ((value: TResult) => IPromise) | undefined, error?: ((error: any) => IPromise) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => IPromise) | undefined, error?: ((error: any) => U) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => U) | undefined, error?: ((error: any) => IPromise) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => U) | undefined, error?: ((error: any) => U) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; } ->U : U >success : ((value: TResult) => IPromise) | undefined >value : TResult ->TResult : TResult ->IPromise : IPromise ->U : U >error : ((error: any) => U) | undefined >error : any ->U : U >progress : ((progress: any) => void) | undefined >progress : any ->IPromise : IPromise ->U : U then(success?: (value: TResult) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; >then : { (success?: ((value: TResult) => IPromise) | undefined, error?: ((error: any) => IPromise) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => IPromise) | undefined, error?: ((error: any) => U) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => U) | undefined, error?: ((error: any) => IPromise) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => U) | undefined, error?: ((error: any) => U) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; } ->U : U >success : ((value: TResult) => U) | undefined >value : TResult ->TResult : TResult ->U : U >error : ((error: any) => IPromise) | undefined >error : any ->IPromise : IPromise ->U : U >progress : ((progress: any) => void) | undefined >progress : any ->IPromise : IPromise ->U : U then(success?: (value: TResult) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; >then : { (success?: ((value: TResult) => IPromise) | undefined, error?: ((error: any) => IPromise) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => IPromise) | undefined, error?: ((error: any) => U) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => U) | undefined, error?: ((error: any) => IPromise) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => U) | undefined, error?: ((error: any) => U) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; } ->U : U >success : ((value: TResult) => U) | undefined >value : TResult ->TResult : TResult ->U : U >error : ((error: any) => U) | undefined >error : any ->U : U >progress : ((progress: any) => void) | undefined >progress : any ->IPromise : IPromise ->U : U done(success?: (value: TResult) => any, error?: (error: any) => any, progress?: (progress: any) => void): void; >done : (success?: ((value: TResult) => any) | undefined, error?: ((error: any) => any) | undefined, progress?: ((progress: any) => void) | undefined) => void ->U : U >success : ((value: TResult) => any) | undefined >value : TResult ->TResult : TResult >error : ((error: any) => any) | undefined >error : any >progress : ((progress: any) => void) | undefined @@ -92,7 +56,6 @@ async function sample(promise: Windows.Foundation.IPromise) { >promise : Windows.Foundation.IPromise >Windows : any >Foundation : any ->IPromise : Windows.Foundation.IPromise var number = await promise; >number : number @@ -103,21 +66,13 @@ async function sample(promise: Windows.Foundation.IPromise) { declare function resolve1(value: T): Promise; >resolve1 : (value: T) => Promise ->T : T >value : T ->T : T ->Promise : Promise ->T : T declare function resolve2(value: T): Windows.Foundation.IPromise; >resolve2 : (value: T) => Windows.Foundation.IPromise ->T : T >value : T ->T : T >Windows : any >Foundation : any ->IPromise : Windows.Foundation.IPromise ->T : T async function sample2(x?: number) { >sample2 : (x?: number | undefined) => Promise diff --git a/tests/baselines/reference/asyncImportedPromise_es5.types b/tests/baselines/reference/asyncImportedPromise_es5.types index 54a6e52fa17..c8ea6bdf61e 100644 --- a/tests/baselines/reference/asyncImportedPromise_es5.types +++ b/tests/baselines/reference/asyncImportedPromise_es5.types @@ -1,9 +1,7 @@ === tests/cases/conformance/async/es5/task.ts === export class Task extends Promise { } >Task : Task ->T : T >Promise : Promise ->T : T === tests/cases/conformance/async/es5/test.ts === import { Task } from "./task"; @@ -14,7 +12,4 @@ class Test { async example(): Task { return; } >example : () => Task ->T : T ->Task : Task ->T : T } diff --git a/tests/baselines/reference/asyncImportedPromise_es6.types b/tests/baselines/reference/asyncImportedPromise_es6.types index 424f14b34d3..05411f1dda5 100644 --- a/tests/baselines/reference/asyncImportedPromise_es6.types +++ b/tests/baselines/reference/asyncImportedPromise_es6.types @@ -1,9 +1,7 @@ === tests/cases/conformance/async/es6/task.ts === export class Task extends Promise { } >Task : Task ->T : T >Promise : Promise ->T : T === tests/cases/conformance/async/es6/test.ts === import { Task } from "./task"; @@ -14,7 +12,4 @@ class Test { async example(): Task { return; } >example : () => Task ->T : T ->Task : Task ->T : T } diff --git a/tests/baselines/reference/asyncInterface_es5.types b/tests/baselines/reference/asyncInterface_es5.types index 37b780a19ad..804a7103d18 100644 --- a/tests/baselines/reference/asyncInterface_es5.types +++ b/tests/baselines/reference/asyncInterface_es5.types @@ -1,4 +1,4 @@ === tests/cases/conformance/async/es5/asyncInterface_es5.ts === async interface I { ->I : I -} +No type information for this code.} +No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/asyncInterface_es6.types b/tests/baselines/reference/asyncInterface_es6.types index b770cafdb96..3990cb71883 100644 --- a/tests/baselines/reference/asyncInterface_es6.types +++ b/tests/baselines/reference/asyncInterface_es6.types @@ -1,4 +1,4 @@ === tests/cases/conformance/async/es6/asyncInterface_es6.ts === async interface I { ->I : I -} +No type information for this code.} +No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/asyncModule_es5.types b/tests/baselines/reference/asyncModule_es5.types index ee956e48eb3..6d9544051c0 100644 --- a/tests/baselines/reference/asyncModule_es5.types +++ b/tests/baselines/reference/asyncModule_es5.types @@ -1,4 +1,4 @@ === tests/cases/conformance/async/es5/asyncModule_es5.ts === async module M { ->M : any -} +No type information for this code.} +No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/asyncModule_es6.types b/tests/baselines/reference/asyncModule_es6.types index b502433758a..7772b353b8e 100644 --- a/tests/baselines/reference/asyncModule_es6.types +++ b/tests/baselines/reference/asyncModule_es6.types @@ -1,4 +1,4 @@ === tests/cases/conformance/async/es6/asyncModule_es6.ts === async module M { ->M : any -} +No type information for this code.} +No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/asyncQualifiedReturnType_es5.types b/tests/baselines/reference/asyncQualifiedReturnType_es5.types index 2fccf45f2a4..8df2ac42c50 100644 --- a/tests/baselines/reference/asyncQualifiedReturnType_es5.types +++ b/tests/baselines/reference/asyncQualifiedReturnType_es5.types @@ -4,14 +4,11 @@ namespace X { export class MyPromise extends Promise { >MyPromise : MyPromise ->T : T >Promise : Promise ->T : T } } async function f(): X.MyPromise { >f : () => X.MyPromise >X : any ->MyPromise : X.MyPromise } diff --git a/tests/baselines/reference/asyncQualifiedReturnType_es6.types b/tests/baselines/reference/asyncQualifiedReturnType_es6.types index 3b438eb93b6..f1878fed5d8 100644 --- a/tests/baselines/reference/asyncQualifiedReturnType_es6.types +++ b/tests/baselines/reference/asyncQualifiedReturnType_es6.types @@ -4,14 +4,11 @@ namespace X { export class MyPromise extends Promise { >MyPromise : MyPromise ->T : T >Promise : Promise ->T : T } } async function f(): X.MyPromise { >f : () => X.MyPromise >X : any ->MyPromise : X.MyPromise } diff --git a/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es2017.types b/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es2017.types index 04c137f81b9..255b86287eb 100644 --- a/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es2017.types +++ b/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es2017.types @@ -2,7 +2,6 @@ declare function someOtherFunction(i: any): Promise; >someOtherFunction : (i: any) => Promise >i : any ->Promise : Promise const x = async i => await someOtherFunction(i) >x : (i: any) => Promise diff --git a/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es5.types b/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es5.types index 34ef19e6bd2..a1dff9ee0e7 100644 --- a/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es5.types +++ b/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es5.types @@ -2,7 +2,6 @@ declare function someOtherFunction(i: any): Promise; >someOtherFunction : (i: any) => Promise >i : any ->Promise : Promise const x = async i => await someOtherFunction(i) >x : (i: any) => Promise diff --git a/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es6.types b/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es6.types index 5a0f516c0ea..69191189251 100644 --- a/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es6.types +++ b/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es6.types @@ -2,7 +2,6 @@ declare function someOtherFunction(i: any): Promise; >someOtherFunction : (i: any) => Promise >i : any ->Promise : Promise const x = async i => await someOtherFunction(i) >x : (i: any) => Promise diff --git a/tests/baselines/reference/asyncUseStrict_es2017.types b/tests/baselines/reference/asyncUseStrict_es2017.types index 267eda83525..9b0aa4e5df4 100644 --- a/tests/baselines/reference/asyncUseStrict_es2017.types +++ b/tests/baselines/reference/asyncUseStrict_es2017.types @@ -4,11 +4,9 @@ declare var a: boolean; declare var p: Promise; >p : Promise ->Promise : Promise async function func(): Promise { >func : () => Promise ->Promise : Promise "use strict"; >"use strict" : "use strict" diff --git a/tests/baselines/reference/asyncUseStrict_es5.types b/tests/baselines/reference/asyncUseStrict_es5.types index a8744a60559..daea07dfb95 100644 --- a/tests/baselines/reference/asyncUseStrict_es5.types +++ b/tests/baselines/reference/asyncUseStrict_es5.types @@ -4,11 +4,9 @@ declare var a: boolean; declare var p: Promise; >p : Promise ->Promise : Promise async function func(): Promise { >func : () => Promise ->Promise : Promise "use strict"; >"use strict" : "use strict" diff --git a/tests/baselines/reference/asyncUseStrict_es6.types b/tests/baselines/reference/asyncUseStrict_es6.types index e92da865316..73a8641ef47 100644 --- a/tests/baselines/reference/asyncUseStrict_es6.types +++ b/tests/baselines/reference/asyncUseStrict_es6.types @@ -4,11 +4,9 @@ declare var a: boolean; declare var p: Promise; >p : Promise ->Promise : Promise async function func(): Promise { >func : () => Promise ->Promise : Promise "use strict"; >"use strict" : "use strict" diff --git a/tests/baselines/reference/augmentArray.types b/tests/baselines/reference/augmentArray.types index 31f7e11edca..fe7d9fe2e2d 100644 --- a/tests/baselines/reference/augmentArray.types +++ b/tests/baselines/reference/augmentArray.types @@ -1,7 +1,5 @@ === tests/cases/compiler/augmentArray.ts === interface Array { ->Array : T[] ->T : T - - (): any[]; -} +No type information for this code. (): any[]; +No type information for this code.} +No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/augmentExportEquals1.types b/tests/baselines/reference/augmentExportEquals1.types index 3c9872c8afe..e2c86b9ae5f 100644 --- a/tests/baselines/reference/augmentExportEquals1.types +++ b/tests/baselines/reference/augmentExportEquals1.types @@ -6,7 +6,6 @@ import "./file2"; let a: x.A; // should not work >a : any >x : any ->A : No type information available! === tests/cases/compiler/file1.ts === var x = 1; @@ -26,7 +25,6 @@ declare module "./file1" { >"./file1" : any interface A { a } ->A : A >a : any } diff --git a/tests/baselines/reference/augmentExportEquals1_1.types b/tests/baselines/reference/augmentExportEquals1_1.types index 7c0a355d08c..b348eba27c0 100644 --- a/tests/baselines/reference/augmentExportEquals1_1.types +++ b/tests/baselines/reference/augmentExportEquals1_1.types @@ -6,7 +6,6 @@ import "file2"; let a: x.A; // should not work >a : any >x : any ->A : No type information available! === tests/cases/compiler/file1.d.ts === declare module "file1" { @@ -30,7 +29,6 @@ declare module "file1" { >"file1" : any interface A { a } ->A : A >a : any } diff --git a/tests/baselines/reference/augmentExportEquals2.types b/tests/baselines/reference/augmentExportEquals2.types index 03424f0b6a5..aeee216a9a3 100644 --- a/tests/baselines/reference/augmentExportEquals2.types +++ b/tests/baselines/reference/augmentExportEquals2.types @@ -6,7 +6,6 @@ import "./file2"; let a: x.A; // should not work >a : any >x : any ->A : No type information available! === tests/cases/compiler/file1.ts === function foo() {} @@ -24,7 +23,6 @@ declare module "./file1" { >"./file1" : any interface A { a } ->A : A >a : any } diff --git a/tests/baselines/reference/augmentExportEquals2_1.types b/tests/baselines/reference/augmentExportEquals2_1.types index a684b76dd51..bca0320dcf1 100644 --- a/tests/baselines/reference/augmentExportEquals2_1.types +++ b/tests/baselines/reference/augmentExportEquals2_1.types @@ -6,7 +6,6 @@ import "file2"; let a: x.A; // should not work >a : any >x : any ->A : No type information available! === tests/cases/compiler/file1.d.ts === declare module "file1" { @@ -29,7 +28,6 @@ declare module "file1" { >"file1" : any interface A { a } ->A : A >a : any } diff --git a/tests/baselines/reference/augmentExportEquals3.types b/tests/baselines/reference/augmentExportEquals3.types index d66b166c5ab..5e1b832ec07 100644 --- a/tests/baselines/reference/augmentExportEquals3.types +++ b/tests/baselines/reference/augmentExportEquals3.types @@ -28,7 +28,6 @@ declare module "./file1" { >"./file1" : typeof x interface A { a } ->A : A >a : any let b: number; @@ -43,7 +42,6 @@ import "./file2"; let a: x.A; >a : x.A >x : any ->A : x.A let b = x.b; >b : number diff --git a/tests/baselines/reference/augmentExportEquals3_1.types b/tests/baselines/reference/augmentExportEquals3_1.types index 08e21c6172c..94f79d50429 100644 --- a/tests/baselines/reference/augmentExportEquals3_1.types +++ b/tests/baselines/reference/augmentExportEquals3_1.types @@ -33,7 +33,6 @@ declare module "file1" { >"file1" : typeof x interface A { a } ->A : A >a : any let b: number; @@ -48,7 +47,6 @@ import "file2"; let a: x.A; >a : x.A >x : any ->A : x.A let b = x.b; >b : number diff --git a/tests/baselines/reference/augmentExportEquals4.types b/tests/baselines/reference/augmentExportEquals4.types index ebdacceae2b..a18268d9e8a 100644 --- a/tests/baselines/reference/augmentExportEquals4.types +++ b/tests/baselines/reference/augmentExportEquals4.types @@ -28,7 +28,6 @@ declare module "./file1" { >"./file1" : typeof x interface A { a } ->A : A >a : any let b: number; @@ -43,7 +42,6 @@ import "./file2"; let a: x.A; >a : x.A >x : any ->A : x.A let b = x.b; >b : number diff --git a/tests/baselines/reference/augmentExportEquals4_1.types b/tests/baselines/reference/augmentExportEquals4_1.types index 7f28d24d64e..a86bb2e89ec 100644 --- a/tests/baselines/reference/augmentExportEquals4_1.types +++ b/tests/baselines/reference/augmentExportEquals4_1.types @@ -33,7 +33,6 @@ declare module "file1" { >"file1" : typeof x interface A { a } ->A : A >a : any let b: number; @@ -48,7 +47,6 @@ import "file2"; let a: x.A; >a : x.A >x : any ->A : x.A let b = x.b; >b : number diff --git a/tests/baselines/reference/augmentExportEquals5.types b/tests/baselines/reference/augmentExportEquals5.types index fd5bb168f80..8c5dcb14173 100644 --- a/tests/baselines/reference/augmentExportEquals5.types +++ b/tests/baselines/reference/augmentExportEquals5.types @@ -1,15 +1,8 @@ === tests/cases/compiler/express.d.ts === declare module Express { ->Express : any - export interface Request { } ->Request : Request - export interface Response { } ->Response : Response - export interface Application { } ->Application : Application } declare module "express" { @@ -18,64 +11,39 @@ declare module "express" { function e(): e.Express; >e : typeof import("e") >e : any ->Express : import("e").Express namespace e { >e : typeof import("e") interface IRoute { ->IRoute : IRoute - all(...handler: RequestHandler[]): IRoute; >all : (...handler: RequestHandler[]) => IRoute >handler : RequestHandler[] ->RequestHandler : RequestHandler ->IRoute : IRoute } interface IRouterMatcher { ->IRouterMatcher : IRouterMatcher ->T : T - (name: string|RegExp, ...handlers: RequestHandler[]): T; >name : string | RegExp ->RegExp : RegExp >handlers : RequestHandler[] ->RequestHandler : RequestHandler ->T : T } interface IRouter extends RequestHandler { ->IRouter : IRouter ->T : T ->RequestHandler : RequestHandler - route(path: string): IRoute; >route : (path: string) => IRoute >path : string ->IRoute : IRoute } export function Router(options?: any): Router; >Router : (options?: any) => Router >options : any ->Router : Router export interface Router extends IRouter {} ->Router : Router ->IRouter : IRouter ->Router : Router interface Errback { (err: Error): void; } ->Errback : Errback >err : Error ->Error : Error interface Request extends Express.Request { ->Request : Request ->Express.Request : any >Express : any ->Request : Express.Request get (name: string): string; >get : (name: string) => string @@ -83,76 +51,47 @@ declare module "express" { } interface Response extends Express.Response { ->Response : Response ->Express.Response : any >Express : any ->Response : Express.Response charset: string; >charset : string } interface ErrorRequestHandler { ->ErrorRequestHandler : ErrorRequestHandler - (err: any, req: Request, res: Response, next: Function): any; >err : any >req : Request ->Request : Request >res : Response ->Response : Response >next : Function ->Function : Function } interface RequestHandler { ->RequestHandler : RequestHandler - (req: Request, res: Response, next: Function): any; >req : Request ->Request : Request >res : Response ->Response : Response >next : Function ->Function : Function } interface Handler extends RequestHandler {} ->Handler : Handler ->RequestHandler : RequestHandler interface RequestParamHandler { ->RequestParamHandler : RequestParamHandler - (req: Request, res: Response, next: Function, param: any): any; >req : Request ->Request : Request >res : Response ->Response : Response >next : Function ->Function : Function >param : any } interface Application extends IRouter, Express.Application { ->Application : Application ->IRouter : IRouter ->Application : Application ->Express.Application : any >Express : any ->Application : Express.Application routes: any; >routes : any } interface Express extends Application { ->Express : Express ->Application : Application - createApplication(): Application; >createApplication : () => Application ->Application : Application } var static: any; @@ -172,8 +111,6 @@ declare module "express" { >"express" : typeof e interface Request { ->Request : Request - id: number; >id : number } @@ -186,7 +123,6 @@ import { Request } from "express"; import "./augmentation"; let x: Request; >x : Request ->Request : Request const y = x.id; >y : number diff --git a/tests/baselines/reference/augmentExportEquals6.types b/tests/baselines/reference/augmentExportEquals6.types index a8e9c36a4ee..272a4fd5875 100644 --- a/tests/baselines/reference/augmentExportEquals6.types +++ b/tests/baselines/reference/augmentExportEquals6.types @@ -33,7 +33,6 @@ declare module "./file1" { >"./file1" : typeof x interface A { a: number } ->A : A >a : number namespace B { @@ -52,7 +51,6 @@ import "./file2"; let a: x.A; >a : x.A >x : any ->A : x.A let b = a.a; >b : number diff --git a/tests/baselines/reference/augmentExportEquals6_1.types b/tests/baselines/reference/augmentExportEquals6_1.types index 3bde1ec600c..d8aed819ba5 100644 --- a/tests/baselines/reference/augmentExportEquals6_1.types +++ b/tests/baselines/reference/augmentExportEquals6_1.types @@ -26,7 +26,6 @@ declare module "file1" { >"file1" : typeof x interface A { a: number } ->A : A >a : number } @@ -38,7 +37,6 @@ import "file2"; let a: x.A; >a : x.A >x : any ->A : x.A let b = a.a; >b : number diff --git a/tests/baselines/reference/augmentExportEquals7.types b/tests/baselines/reference/augmentExportEquals7.types index b1626ff8925..4558b5281f6 100644 --- a/tests/baselines/reference/augmentExportEquals7.types +++ b/tests/baselines/reference/augmentExportEquals7.types @@ -3,8 +3,6 @@ declare var lib: () => void; >lib : () => void declare namespace lib {} ->lib : () => void - export = lib; >lib : () => void diff --git a/tests/baselines/reference/augmentedTypeAssignmentCompatIndexSignature.types b/tests/baselines/reference/augmentedTypeAssignmentCompatIndexSignature.types index fc19672442a..32fc880870d 100644 --- a/tests/baselines/reference/augmentedTypeAssignmentCompatIndexSignature.types +++ b/tests/baselines/reference/augmentedTypeAssignmentCompatIndexSignature.types @@ -1,26 +1,18 @@ === tests/cases/conformance/types/members/augmentedTypeAssignmentCompatIndexSignature.ts === interface Foo { a } ->Foo : Foo >a : any interface Bar { b } ->Bar : Bar >b : any interface Object { ->Object : Object - [n: number]: Foo; >n : number ->Foo : Foo } interface Function { ->Function : Function - [n: number]: Bar; >n : number ->Bar : Bar } var o = {}; @@ -36,7 +28,6 @@ var v1: { [n: number]: Foo >n : number ->Foo : Foo } = o; // Should be allowed >o : {} @@ -46,7 +37,6 @@ var v2: { [n: number]: Bar >n : number ->Bar : Bar } = f; // Should be allowed >f : () => void diff --git a/tests/baselines/reference/augmentedTypeBracketAccessIndexSignature.types b/tests/baselines/reference/augmentedTypeBracketAccessIndexSignature.types index a0951c324f2..eb23cfaa9e6 100644 --- a/tests/baselines/reference/augmentedTypeBracketAccessIndexSignature.types +++ b/tests/baselines/reference/augmentedTypeBracketAccessIndexSignature.types @@ -1,26 +1,18 @@ === tests/cases/conformance/types/members/augmentedTypeBracketAccessIndexSignature.ts === interface Foo { a } ->Foo : Foo >a : any interface Bar { b } ->Bar : Bar >b : any interface Object { ->Object : Object - [n: number]: Foo; >n : number ->Foo : Foo } interface Function { ->Function : Function - [n: number]: Bar; >n : number ->Bar : Bar } var a = {}[0]; // Should be Foo diff --git a/tests/baselines/reference/augmentedTypeBracketNamedPropertyAccess.types b/tests/baselines/reference/augmentedTypeBracketNamedPropertyAccess.types index d8388fc81a8..eb90adefde2 100644 --- a/tests/baselines/reference/augmentedTypeBracketNamedPropertyAccess.types +++ b/tests/baselines/reference/augmentedTypeBracketNamedPropertyAccess.types @@ -1,13 +1,9 @@ === tests/cases/compiler/augmentedTypeBracketNamedPropertyAccess.ts === interface Object { ->Object : Object - data: number; >data : number } interface Function { ->Function : Function - functionData: string; >functionData : string } diff --git a/tests/baselines/reference/augmentedTypesClass2.types b/tests/baselines/reference/augmentedTypesClass2.types index dd3263cc0a2..df4379508b8 100644 --- a/tests/baselines/reference/augmentedTypesClass2.types +++ b/tests/baselines/reference/augmentedTypesClass2.types @@ -14,8 +14,6 @@ class c11 { } interface c11 { ->c11 : c11 - bar(): void; >bar : () => void } diff --git a/tests/baselines/reference/augmentedTypesClass3.types b/tests/baselines/reference/augmentedTypesClass3.types index 64e403d2661..d59d519cb43 100644 --- a/tests/baselines/reference/augmentedTypesClass3.types +++ b/tests/baselines/reference/augmentedTypesClass3.types @@ -5,7 +5,6 @@ class c5 { public foo() { } } >foo : () => void module c5 { } // should be ok ->c5 : typeof c5 class c5a { public foo() { } } >c5a : c5a diff --git a/tests/baselines/reference/augmentedTypesEnum.types b/tests/baselines/reference/augmentedTypesEnum.types index 36ac647e4a1..d6fcf87f138 100644 --- a/tests/baselines/reference/augmentedTypesEnum.types +++ b/tests/baselines/reference/augmentedTypesEnum.types @@ -56,7 +56,6 @@ enum e6 { One } >One : e6 module e6 { } // ok ->e6 : typeof e6 enum e6a { One } >e6a : e6a diff --git a/tests/baselines/reference/augmentedTypesEnum2.types b/tests/baselines/reference/augmentedTypesEnum2.types index 9949862b147..4b77d0eb90b 100644 --- a/tests/baselines/reference/augmentedTypesEnum2.types +++ b/tests/baselines/reference/augmentedTypesEnum2.types @@ -5,8 +5,6 @@ enum e1 { One } // error >One : e1 interface e1 { // error ->e1 : e1 - foo(): void; >foo : () => void } diff --git a/tests/baselines/reference/augmentedTypesExternalModule1.types b/tests/baselines/reference/augmentedTypesExternalModule1.types index 2d3f8394d82..aeb8011dde3 100644 --- a/tests/baselines/reference/augmentedTypesExternalModule1.types +++ b/tests/baselines/reference/augmentedTypesExternalModule1.types @@ -8,5 +8,3 @@ class c5 { public foo() { } } >foo : () => void module c5 { } // should be ok everywhere ->c5 : typeof c5 - diff --git a/tests/baselines/reference/augmentedTypesFunction.types b/tests/baselines/reference/augmentedTypesFunction.types index a977761c83f..b019c02d90c 100644 --- a/tests/baselines/reference/augmentedTypesFunction.types +++ b/tests/baselines/reference/augmentedTypesFunction.types @@ -48,7 +48,6 @@ function y5() { } >y5 : () => void module y5 { } // ok since module is not instantiated ->y5 : () => void function y5a() { } >y5a : typeof y5a @@ -70,8 +69,6 @@ function y5c() { } >y5c : () => void module y5c { export interface I { foo(): void } } // should be an error ->y5c : () => void ->I : I >foo : () => void // function then import, messes with other errors diff --git a/tests/baselines/reference/augmentedTypesInterface.types b/tests/baselines/reference/augmentedTypesInterface.types index 412d4795131..6b6ef88015f 100644 --- a/tests/baselines/reference/augmentedTypesInterface.types +++ b/tests/baselines/reference/augmentedTypesInterface.types @@ -2,23 +2,17 @@ // interface then interface interface i { ->i : i - foo(): void; >foo : () => void } interface i { ->i : i - bar(): number; >bar : () => number } // interface then class interface i2 { ->i2 : i2 - foo(): void; >foo : () => void } @@ -36,8 +30,6 @@ class i2 { // interface then enum interface i3 { // error ->i3 : i3 - foo(): void; >foo : () => void } @@ -47,8 +39,6 @@ enum i3 { One }; // error // interface then import interface i4 { ->i4 : i4 - foo(): void; >foo : () => void } diff --git a/tests/baselines/reference/augmentedTypesModules.types b/tests/baselines/reference/augmentedTypesModules.types index 4dc23acd66f..1a03b9991ed 100644 --- a/tests/baselines/reference/augmentedTypesModules.types +++ b/tests/baselines/reference/augmentedTypesModules.types @@ -1,8 +1,6 @@ === tests/cases/compiler/augmentedTypesModules.ts === // module then var module m1 { } ->m1 : number - var m1 = 1; // Should be allowed >m1 : number >1 : 1 @@ -26,10 +24,7 @@ var m1b = 1; // error >1 : 1 module m1c { ->m1c : number - export interface I { foo(): void; } ->I : I >foo : () => void } var m1c = 1; // Should be allowed @@ -49,8 +44,6 @@ var m1d = 1; // error // module then function module m2 { } ->m2 : () => void - function m2() { }; // ok since the module is not instantiated >m2 : () => void @@ -80,8 +73,6 @@ module m2c { export var y = 2; } >2 : 2 module m2d { } ->m2d : () => void - declare function m2d(): void; >m2d : () => void @@ -89,14 +80,11 @@ declare function m2e(): void; >m2e : () => void module m2e { } ->m2e : () => void function m2f() { }; >m2f : () => void module m2f { export interface I { foo(): void } } ->m2f : () => void ->I : I >foo : () => void function m2g() { }; @@ -109,8 +97,6 @@ module m2g { export class C { foo() { } } } // module then class module m3 { } ->m3 : typeof m3 - class m3 { } // ok since the module is not instantiated >m3 : m3 @@ -164,8 +150,6 @@ declare class m3f { foo(): void } >foo : () => void module m3f { export interface I { foo(): void } } ->m3f : typeof m3f ->I : I >foo : () => void declare class m3g { foo(): void } @@ -180,8 +164,6 @@ module m3g { export class C { foo() { } } } // module then enum // should be errors module m4 { } ->m4 : typeof m4 - enum m4 { } >m4 : m4 @@ -204,8 +186,6 @@ enum m4b { One } >One : m4b module m4c { interface I { foo(): void } } ->m4c : typeof m4c ->I : I >foo : () => void enum m4c { One } @@ -229,8 +209,6 @@ module m5 { export var y = 2; } >2 : 2 module m5 { export interface I { foo(): void } } // should already be reasonably well covered ->m5 : typeof m5 ->I : I >foo : () => void // module then import diff --git a/tests/baselines/reference/augmentedTypesModules2.types b/tests/baselines/reference/augmentedTypesModules2.types index e2c9f7a3cb5..30b14793453 100644 --- a/tests/baselines/reference/augmentedTypesModules2.types +++ b/tests/baselines/reference/augmentedTypesModules2.types @@ -1,8 +1,6 @@ === tests/cases/compiler/augmentedTypesModules2.ts === // module then function module m2 { } ->m2 : () => void - function m2() { }; // ok since the module is not instantiated >m2 : () => void @@ -39,8 +37,6 @@ function m2cc() { }; // error to have module first >m2cc : typeof m2cc module m2d { } ->m2d : () => void - declare function m2d(): void; >m2d : () => void @@ -48,14 +44,11 @@ declare function m2e(): void; >m2e : () => void module m2e { } ->m2e : () => void function m2f() { }; >m2f : () => void module m2f { export interface I { foo(): void } } ->m2f : () => void ->I : I >foo : () => void function m2g() { }; diff --git a/tests/baselines/reference/augmentedTypesModules3.types b/tests/baselines/reference/augmentedTypesModules3.types index bf8f275a777..2f95368414b 100644 --- a/tests/baselines/reference/augmentedTypesModules3.types +++ b/tests/baselines/reference/augmentedTypesModules3.types @@ -1,8 +1,6 @@ === tests/cases/compiler/augmentedTypesModules3.ts === //// module then class module m3 { } ->m3 : typeof m3 - class m3 { } // ok since the module is not instantiated >m3 : m3 diff --git a/tests/baselines/reference/augmentedTypesModules3b.types b/tests/baselines/reference/augmentedTypesModules3b.types index 0d1ebe2bb42..c165ae3cd32 100644 --- a/tests/baselines/reference/augmentedTypesModules3b.types +++ b/tests/baselines/reference/augmentedTypesModules3b.types @@ -40,8 +40,6 @@ declare class m3f { foo(): void } >foo : () => void module m3f { export interface I { foo(): void } } ->m3f : typeof m3f ->I : I >foo : () => void declare class m3g { foo(): void } diff --git a/tests/baselines/reference/augmentedTypesModules4.types b/tests/baselines/reference/augmentedTypesModules4.types index 7e47abc41e8..d1dd8fe19ec 100644 --- a/tests/baselines/reference/augmentedTypesModules4.types +++ b/tests/baselines/reference/augmentedTypesModules4.types @@ -2,8 +2,6 @@ // module then enum // should be errors module m4 { } ->m4 : typeof m4 - enum m4 { } >m4 : m4 @@ -26,8 +24,6 @@ enum m4b { One } >One : m4b module m4c { interface I { foo(): void } } ->m4c : typeof m4c ->I : I >foo : () => void enum m4c { One } @@ -51,7 +47,5 @@ module m5 { export var y = 2; } >2 : 2 module m5 { export interface I { foo(): void } } // should already be reasonably well covered ->m5 : typeof m5 ->I : I >foo : () => void diff --git a/tests/baselines/reference/augmentedTypesVar.types b/tests/baselines/reference/augmentedTypesVar.types index f666a3ca5a4..f2ced2b5426 100644 --- a/tests/baselines/reference/augmentedTypesVar.types +++ b/tests/baselines/reference/augmentedTypesVar.types @@ -55,7 +55,6 @@ var x6 = 1; >1 : 1 module x6 { } // ok since non-instantiated ->x6 : number var x6a = 1; // error >x6a : number diff --git a/tests/baselines/reference/awaitBinaryExpression1_es2017.types b/tests/baselines/reference/awaitBinaryExpression1_es2017.types index c86631804c5..18debcdf06e 100644 --- a/tests/baselines/reference/awaitBinaryExpression1_es2017.types +++ b/tests/baselines/reference/awaitBinaryExpression1_es2017.types @@ -4,7 +4,6 @@ declare var a: boolean; declare var p: Promise; >p : Promise ->Promise : Promise declare function before(): void; >before : () => void @@ -14,7 +13,6 @@ declare function after(): void; async function func(): Promise { >func : () => Promise ->Promise : Promise before(); >before() : void diff --git a/tests/baselines/reference/awaitBinaryExpression1_es5.types b/tests/baselines/reference/awaitBinaryExpression1_es5.types index f704eb632b4..a5c096c71d1 100644 --- a/tests/baselines/reference/awaitBinaryExpression1_es5.types +++ b/tests/baselines/reference/awaitBinaryExpression1_es5.types @@ -4,7 +4,6 @@ declare var a: boolean; declare var p: Promise; >p : Promise ->Promise : Promise declare function before(): void; >before : () => void @@ -14,7 +13,6 @@ declare function after(): void; async function func(): Promise { >func : () => Promise ->Promise : Promise before(); >before() : void diff --git a/tests/baselines/reference/awaitBinaryExpression1_es6.types b/tests/baselines/reference/awaitBinaryExpression1_es6.types index 6078e2b6dff..f967dacd4fc 100644 --- a/tests/baselines/reference/awaitBinaryExpression1_es6.types +++ b/tests/baselines/reference/awaitBinaryExpression1_es6.types @@ -4,7 +4,6 @@ declare var a: boolean; declare var p: Promise; >p : Promise ->Promise : Promise declare function before(): void; >before : () => void @@ -14,7 +13,6 @@ declare function after(): void; async function func(): Promise { >func : () => Promise ->Promise : Promise before(); >before() : void diff --git a/tests/baselines/reference/awaitBinaryExpression2_es2017.types b/tests/baselines/reference/awaitBinaryExpression2_es2017.types index f803b1ac840..1836a016282 100644 --- a/tests/baselines/reference/awaitBinaryExpression2_es2017.types +++ b/tests/baselines/reference/awaitBinaryExpression2_es2017.types @@ -4,7 +4,6 @@ declare var a: boolean; declare var p: Promise; >p : Promise ->Promise : Promise declare function before(): void; >before : () => void @@ -14,7 +13,6 @@ declare function after(): void; async function func(): Promise { >func : () => Promise ->Promise : Promise before(); >before() : void diff --git a/tests/baselines/reference/awaitBinaryExpression2_es5.types b/tests/baselines/reference/awaitBinaryExpression2_es5.types index d3f1f861a45..dc7ea12e9fb 100644 --- a/tests/baselines/reference/awaitBinaryExpression2_es5.types +++ b/tests/baselines/reference/awaitBinaryExpression2_es5.types @@ -4,7 +4,6 @@ declare var a: boolean; declare var p: Promise; >p : Promise ->Promise : Promise declare function before(): void; >before : () => void @@ -14,7 +13,6 @@ declare function after(): void; async function func(): Promise { >func : () => Promise ->Promise : Promise before(); >before() : void diff --git a/tests/baselines/reference/awaitBinaryExpression2_es6.types b/tests/baselines/reference/awaitBinaryExpression2_es6.types index 5f092675e85..92fe14fa848 100644 --- a/tests/baselines/reference/awaitBinaryExpression2_es6.types +++ b/tests/baselines/reference/awaitBinaryExpression2_es6.types @@ -4,7 +4,6 @@ declare var a: boolean; declare var p: Promise; >p : Promise ->Promise : Promise declare function before(): void; >before : () => void @@ -14,7 +13,6 @@ declare function after(): void; async function func(): Promise { >func : () => Promise ->Promise : Promise before(); >before() : void diff --git a/tests/baselines/reference/awaitBinaryExpression3_es2017.types b/tests/baselines/reference/awaitBinaryExpression3_es2017.types index 623d0695237..7e9c41f2057 100644 --- a/tests/baselines/reference/awaitBinaryExpression3_es2017.types +++ b/tests/baselines/reference/awaitBinaryExpression3_es2017.types @@ -4,7 +4,6 @@ declare var a: number; declare var p: Promise; >p : Promise ->Promise : Promise declare function before(): void; >before : () => void @@ -14,7 +13,6 @@ declare function after(): void; async function func(): Promise { >func : () => Promise ->Promise : Promise before(); >before() : void diff --git a/tests/baselines/reference/awaitBinaryExpression3_es5.types b/tests/baselines/reference/awaitBinaryExpression3_es5.types index debc71a6475..63952297d96 100644 --- a/tests/baselines/reference/awaitBinaryExpression3_es5.types +++ b/tests/baselines/reference/awaitBinaryExpression3_es5.types @@ -4,7 +4,6 @@ declare var a: number; declare var p: Promise; >p : Promise ->Promise : Promise declare function before(): void; >before : () => void @@ -14,7 +13,6 @@ declare function after(): void; async function func(): Promise { >func : () => Promise ->Promise : Promise before(); >before() : void diff --git a/tests/baselines/reference/awaitBinaryExpression3_es6.types b/tests/baselines/reference/awaitBinaryExpression3_es6.types index 98bff3b9439..4dcf987d908 100644 --- a/tests/baselines/reference/awaitBinaryExpression3_es6.types +++ b/tests/baselines/reference/awaitBinaryExpression3_es6.types @@ -4,7 +4,6 @@ declare var a: number; declare var p: Promise; >p : Promise ->Promise : Promise declare function before(): void; >before : () => void @@ -14,7 +13,6 @@ declare function after(): void; async function func(): Promise { >func : () => Promise ->Promise : Promise before(); >before() : void diff --git a/tests/baselines/reference/awaitBinaryExpression4_es2017.types b/tests/baselines/reference/awaitBinaryExpression4_es2017.types index 714b6b1ea3a..dbc114471f2 100644 --- a/tests/baselines/reference/awaitBinaryExpression4_es2017.types +++ b/tests/baselines/reference/awaitBinaryExpression4_es2017.types @@ -4,7 +4,6 @@ declare var a: boolean; declare var p: Promise; >p : Promise ->Promise : Promise declare function before(): void; >before : () => void @@ -14,7 +13,6 @@ declare function after(): void; async function func(): Promise { >func : () => Promise ->Promise : Promise before(); >before() : void diff --git a/tests/baselines/reference/awaitBinaryExpression4_es5.types b/tests/baselines/reference/awaitBinaryExpression4_es5.types index f535741fa45..0df132ed5d5 100644 --- a/tests/baselines/reference/awaitBinaryExpression4_es5.types +++ b/tests/baselines/reference/awaitBinaryExpression4_es5.types @@ -4,7 +4,6 @@ declare var a: boolean; declare var p: Promise; >p : Promise ->Promise : Promise declare function before(): void; >before : () => void @@ -14,7 +13,6 @@ declare function after(): void; async function func(): Promise { >func : () => Promise ->Promise : Promise before(); >before() : void diff --git a/tests/baselines/reference/awaitBinaryExpression4_es6.types b/tests/baselines/reference/awaitBinaryExpression4_es6.types index ea1d968346d..01eb1f10b1e 100644 --- a/tests/baselines/reference/awaitBinaryExpression4_es6.types +++ b/tests/baselines/reference/awaitBinaryExpression4_es6.types @@ -4,7 +4,6 @@ declare var a: boolean; declare var p: Promise; >p : Promise ->Promise : Promise declare function before(): void; >before : () => void @@ -14,7 +13,6 @@ declare function after(): void; async function func(): Promise { >func : () => Promise ->Promise : Promise before(); >before() : void diff --git a/tests/baselines/reference/awaitBinaryExpression5_es2017.types b/tests/baselines/reference/awaitBinaryExpression5_es2017.types index 763f9e50862..0fbaa72e6e0 100644 --- a/tests/baselines/reference/awaitBinaryExpression5_es2017.types +++ b/tests/baselines/reference/awaitBinaryExpression5_es2017.types @@ -4,7 +4,6 @@ declare var a: boolean; declare var p: Promise; >p : Promise ->Promise : Promise declare function before(): void; >before : () => void @@ -14,7 +13,6 @@ declare function after(): void; async function func(): Promise { >func : () => Promise ->Promise : Promise before(); >before() : void diff --git a/tests/baselines/reference/awaitBinaryExpression5_es5.types b/tests/baselines/reference/awaitBinaryExpression5_es5.types index 6d1ebb42c84..70a93686478 100644 --- a/tests/baselines/reference/awaitBinaryExpression5_es5.types +++ b/tests/baselines/reference/awaitBinaryExpression5_es5.types @@ -4,7 +4,6 @@ declare var a: boolean; declare var p: Promise; >p : Promise ->Promise : Promise declare function before(): void; >before : () => void @@ -14,7 +13,6 @@ declare function after(): void; async function func(): Promise { >func : () => Promise ->Promise : Promise before(); >before() : void diff --git a/tests/baselines/reference/awaitBinaryExpression5_es6.types b/tests/baselines/reference/awaitBinaryExpression5_es6.types index 649d160a847..bfaa09b2a50 100644 --- a/tests/baselines/reference/awaitBinaryExpression5_es6.types +++ b/tests/baselines/reference/awaitBinaryExpression5_es6.types @@ -4,7 +4,6 @@ declare var a: boolean; declare var p: Promise; >p : Promise ->Promise : Promise declare function before(): void; >before : () => void @@ -14,7 +13,6 @@ declare function after(): void; async function func(): Promise { >func : () => Promise ->Promise : Promise before(); >before() : void diff --git a/tests/baselines/reference/awaitCallExpression1_es2017.types b/tests/baselines/reference/awaitCallExpression1_es2017.types index c5cea091878..beec53fbff7 100644 --- a/tests/baselines/reference/awaitCallExpression1_es2017.types +++ b/tests/baselines/reference/awaitCallExpression1_es2017.types @@ -4,7 +4,6 @@ declare var a: boolean; declare var p: Promise; >p : Promise ->Promise : Promise declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void @@ -21,14 +20,12 @@ declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void> ->Promise : Promise >arg0 : boolean >arg1 : boolean >arg2 : boolean declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }> ->Promise : Promise >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void >arg0 : boolean >arg1 : boolean @@ -42,7 +39,6 @@ declare function after(): void; async function func(): Promise { >func : () => Promise ->Promise : Promise before(); >before() : void diff --git a/tests/baselines/reference/awaitCallExpression1_es5.types b/tests/baselines/reference/awaitCallExpression1_es5.types index 8e712443cab..51036264464 100644 --- a/tests/baselines/reference/awaitCallExpression1_es5.types +++ b/tests/baselines/reference/awaitCallExpression1_es5.types @@ -4,7 +4,6 @@ declare var a: boolean; declare var p: Promise; >p : Promise ->Promise : Promise declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void @@ -21,14 +20,12 @@ declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void> ->Promise : Promise >arg0 : boolean >arg1 : boolean >arg2 : boolean declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }> ->Promise : Promise >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void >arg0 : boolean >arg1 : boolean @@ -42,7 +39,6 @@ declare function after(): void; async function func(): Promise { >func : () => Promise ->Promise : Promise before(); >before() : void diff --git a/tests/baselines/reference/awaitCallExpression1_es6.types b/tests/baselines/reference/awaitCallExpression1_es6.types index 3807379a2f2..46717889ede 100644 --- a/tests/baselines/reference/awaitCallExpression1_es6.types +++ b/tests/baselines/reference/awaitCallExpression1_es6.types @@ -4,7 +4,6 @@ declare var a: boolean; declare var p: Promise; >p : Promise ->Promise : Promise declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void @@ -21,14 +20,12 @@ declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void> ->Promise : Promise >arg0 : boolean >arg1 : boolean >arg2 : boolean declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }> ->Promise : Promise >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void >arg0 : boolean >arg1 : boolean @@ -42,7 +39,6 @@ declare function after(): void; async function func(): Promise { >func : () => Promise ->Promise : Promise before(); >before() : void diff --git a/tests/baselines/reference/awaitCallExpression2_es2017.types b/tests/baselines/reference/awaitCallExpression2_es2017.types index a15609a4078..311a79bedcb 100644 --- a/tests/baselines/reference/awaitCallExpression2_es2017.types +++ b/tests/baselines/reference/awaitCallExpression2_es2017.types @@ -4,7 +4,6 @@ declare var a: boolean; declare var p: Promise; >p : Promise ->Promise : Promise declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void @@ -21,14 +20,12 @@ declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void> ->Promise : Promise >arg0 : boolean >arg1 : boolean >arg2 : boolean declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }> ->Promise : Promise >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void >arg0 : boolean >arg1 : boolean @@ -42,7 +39,6 @@ declare function after(): void; async function func(): Promise { >func : () => Promise ->Promise : Promise before(); >before() : void diff --git a/tests/baselines/reference/awaitCallExpression2_es5.types b/tests/baselines/reference/awaitCallExpression2_es5.types index 5fd85ce3921..51ffd1d4ba7 100644 --- a/tests/baselines/reference/awaitCallExpression2_es5.types +++ b/tests/baselines/reference/awaitCallExpression2_es5.types @@ -4,7 +4,6 @@ declare var a: boolean; declare var p: Promise; >p : Promise ->Promise : Promise declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void @@ -21,14 +20,12 @@ declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void> ->Promise : Promise >arg0 : boolean >arg1 : boolean >arg2 : boolean declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }> ->Promise : Promise >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void >arg0 : boolean >arg1 : boolean @@ -42,7 +39,6 @@ declare function after(): void; async function func(): Promise { >func : () => Promise ->Promise : Promise before(); >before() : void diff --git a/tests/baselines/reference/awaitCallExpression2_es6.types b/tests/baselines/reference/awaitCallExpression2_es6.types index 8758fea7f95..fed499e5987 100644 --- a/tests/baselines/reference/awaitCallExpression2_es6.types +++ b/tests/baselines/reference/awaitCallExpression2_es6.types @@ -4,7 +4,6 @@ declare var a: boolean; declare var p: Promise; >p : Promise ->Promise : Promise declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void @@ -21,14 +20,12 @@ declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void> ->Promise : Promise >arg0 : boolean >arg1 : boolean >arg2 : boolean declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }> ->Promise : Promise >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void >arg0 : boolean >arg1 : boolean @@ -42,7 +39,6 @@ declare function after(): void; async function func(): Promise { >func : () => Promise ->Promise : Promise before(); >before() : void diff --git a/tests/baselines/reference/awaitCallExpression3_es2017.types b/tests/baselines/reference/awaitCallExpression3_es2017.types index a491836fa06..5f3c7e3825d 100644 --- a/tests/baselines/reference/awaitCallExpression3_es2017.types +++ b/tests/baselines/reference/awaitCallExpression3_es2017.types @@ -4,7 +4,6 @@ declare var a: boolean; declare var p: Promise; >p : Promise ->Promise : Promise declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void @@ -21,14 +20,12 @@ declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void> ->Promise : Promise >arg0 : boolean >arg1 : boolean >arg2 : boolean declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }> ->Promise : Promise >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void >arg0 : boolean >arg1 : boolean @@ -42,7 +39,6 @@ declare function after(): void; async function func(): Promise { >func : () => Promise ->Promise : Promise before(); >before() : void diff --git a/tests/baselines/reference/awaitCallExpression3_es5.types b/tests/baselines/reference/awaitCallExpression3_es5.types index d2d851c1dae..7999f82f6ce 100644 --- a/tests/baselines/reference/awaitCallExpression3_es5.types +++ b/tests/baselines/reference/awaitCallExpression3_es5.types @@ -4,7 +4,6 @@ declare var a: boolean; declare var p: Promise; >p : Promise ->Promise : Promise declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void @@ -21,14 +20,12 @@ declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void> ->Promise : Promise >arg0 : boolean >arg1 : boolean >arg2 : boolean declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }> ->Promise : Promise >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void >arg0 : boolean >arg1 : boolean @@ -42,7 +39,6 @@ declare function after(): void; async function func(): Promise { >func : () => Promise ->Promise : Promise before(); >before() : void diff --git a/tests/baselines/reference/awaitCallExpression3_es6.types b/tests/baselines/reference/awaitCallExpression3_es6.types index 490fd861a61..56596ad7f5f 100644 --- a/tests/baselines/reference/awaitCallExpression3_es6.types +++ b/tests/baselines/reference/awaitCallExpression3_es6.types @@ -4,7 +4,6 @@ declare var a: boolean; declare var p: Promise; >p : Promise ->Promise : Promise declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void @@ -21,14 +20,12 @@ declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void> ->Promise : Promise >arg0 : boolean >arg1 : boolean >arg2 : boolean declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }> ->Promise : Promise >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void >arg0 : boolean >arg1 : boolean @@ -42,7 +39,6 @@ declare function after(): void; async function func(): Promise { >func : () => Promise ->Promise : Promise before(); >before() : void diff --git a/tests/baselines/reference/awaitCallExpression4_es2017.types b/tests/baselines/reference/awaitCallExpression4_es2017.types index 3f1b478e669..d394487c1d0 100644 --- a/tests/baselines/reference/awaitCallExpression4_es2017.types +++ b/tests/baselines/reference/awaitCallExpression4_es2017.types @@ -4,7 +4,6 @@ declare var a: boolean; declare var p: Promise; >p : Promise ->Promise : Promise declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void @@ -21,14 +20,12 @@ declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void> ->Promise : Promise >arg0 : boolean >arg1 : boolean >arg2 : boolean declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }> ->Promise : Promise >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void >arg0 : boolean >arg1 : boolean @@ -42,7 +39,6 @@ declare function after(): void; async function func(): Promise { >func : () => Promise ->Promise : Promise before(); >before() : void diff --git a/tests/baselines/reference/awaitCallExpression4_es5.types b/tests/baselines/reference/awaitCallExpression4_es5.types index 0b510c46998..204590a2d38 100644 --- a/tests/baselines/reference/awaitCallExpression4_es5.types +++ b/tests/baselines/reference/awaitCallExpression4_es5.types @@ -4,7 +4,6 @@ declare var a: boolean; declare var p: Promise; >p : Promise ->Promise : Promise declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void @@ -21,14 +20,12 @@ declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void> ->Promise : Promise >arg0 : boolean >arg1 : boolean >arg2 : boolean declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }> ->Promise : Promise >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void >arg0 : boolean >arg1 : boolean @@ -42,7 +39,6 @@ declare function after(): void; async function func(): Promise { >func : () => Promise ->Promise : Promise before(); >before() : void diff --git a/tests/baselines/reference/awaitCallExpression4_es6.types b/tests/baselines/reference/awaitCallExpression4_es6.types index d8a514a67e6..203e4c36455 100644 --- a/tests/baselines/reference/awaitCallExpression4_es6.types +++ b/tests/baselines/reference/awaitCallExpression4_es6.types @@ -4,7 +4,6 @@ declare var a: boolean; declare var p: Promise; >p : Promise ->Promise : Promise declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void @@ -21,14 +20,12 @@ declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void> ->Promise : Promise >arg0 : boolean >arg1 : boolean >arg2 : boolean declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }> ->Promise : Promise >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void >arg0 : boolean >arg1 : boolean @@ -42,7 +39,6 @@ declare function after(): void; async function func(): Promise { >func : () => Promise ->Promise : Promise before(); >before() : void diff --git a/tests/baselines/reference/awaitCallExpression5_es2017.types b/tests/baselines/reference/awaitCallExpression5_es2017.types index f31320e44f7..4c404d55472 100644 --- a/tests/baselines/reference/awaitCallExpression5_es2017.types +++ b/tests/baselines/reference/awaitCallExpression5_es2017.types @@ -4,7 +4,6 @@ declare var a: boolean; declare var p: Promise; >p : Promise ->Promise : Promise declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void @@ -21,14 +20,12 @@ declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void> ->Promise : Promise >arg0 : boolean >arg1 : boolean >arg2 : boolean declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }> ->Promise : Promise >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void >arg0 : boolean >arg1 : boolean @@ -42,7 +39,6 @@ declare function after(): void; async function func(): Promise { >func : () => Promise ->Promise : Promise before(); >before() : void diff --git a/tests/baselines/reference/awaitCallExpression5_es5.types b/tests/baselines/reference/awaitCallExpression5_es5.types index b4b6d947275..2b619bafe9d 100644 --- a/tests/baselines/reference/awaitCallExpression5_es5.types +++ b/tests/baselines/reference/awaitCallExpression5_es5.types @@ -4,7 +4,6 @@ declare var a: boolean; declare var p: Promise; >p : Promise ->Promise : Promise declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void @@ -21,14 +20,12 @@ declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void> ->Promise : Promise >arg0 : boolean >arg1 : boolean >arg2 : boolean declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }> ->Promise : Promise >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void >arg0 : boolean >arg1 : boolean @@ -42,7 +39,6 @@ declare function after(): void; async function func(): Promise { >func : () => Promise ->Promise : Promise before(); >before() : void diff --git a/tests/baselines/reference/awaitCallExpression5_es6.types b/tests/baselines/reference/awaitCallExpression5_es6.types index 3e9f1c6387e..115310d5913 100644 --- a/tests/baselines/reference/awaitCallExpression5_es6.types +++ b/tests/baselines/reference/awaitCallExpression5_es6.types @@ -4,7 +4,6 @@ declare var a: boolean; declare var p: Promise; >p : Promise ->Promise : Promise declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void @@ -21,14 +20,12 @@ declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void> ->Promise : Promise >arg0 : boolean >arg1 : boolean >arg2 : boolean declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }> ->Promise : Promise >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void >arg0 : boolean >arg1 : boolean @@ -42,7 +39,6 @@ declare function after(): void; async function func(): Promise { >func : () => Promise ->Promise : Promise before(); >before() : void diff --git a/tests/baselines/reference/awaitCallExpression6_es2017.types b/tests/baselines/reference/awaitCallExpression6_es2017.types index ccce4cad366..22be57f670c 100644 --- a/tests/baselines/reference/awaitCallExpression6_es2017.types +++ b/tests/baselines/reference/awaitCallExpression6_es2017.types @@ -4,7 +4,6 @@ declare var a: boolean; declare var p: Promise; >p : Promise ->Promise : Promise declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void @@ -21,14 +20,12 @@ declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void> ->Promise : Promise >arg0 : boolean >arg1 : boolean >arg2 : boolean declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }> ->Promise : Promise >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void >arg0 : boolean >arg1 : boolean @@ -42,7 +39,6 @@ declare function after(): void; async function func(): Promise { >func : () => Promise ->Promise : Promise before(); >before() : void diff --git a/tests/baselines/reference/awaitCallExpression6_es5.types b/tests/baselines/reference/awaitCallExpression6_es5.types index e34839f3c15..a09d92fee05 100644 --- a/tests/baselines/reference/awaitCallExpression6_es5.types +++ b/tests/baselines/reference/awaitCallExpression6_es5.types @@ -4,7 +4,6 @@ declare var a: boolean; declare var p: Promise; >p : Promise ->Promise : Promise declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void @@ -21,14 +20,12 @@ declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void> ->Promise : Promise >arg0 : boolean >arg1 : boolean >arg2 : boolean declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }> ->Promise : Promise >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void >arg0 : boolean >arg1 : boolean @@ -42,7 +39,6 @@ declare function after(): void; async function func(): Promise { >func : () => Promise ->Promise : Promise before(); >before() : void diff --git a/tests/baselines/reference/awaitCallExpression6_es6.types b/tests/baselines/reference/awaitCallExpression6_es6.types index 6c5f0f9063e..d7353a88196 100644 --- a/tests/baselines/reference/awaitCallExpression6_es6.types +++ b/tests/baselines/reference/awaitCallExpression6_es6.types @@ -4,7 +4,6 @@ declare var a: boolean; declare var p: Promise; >p : Promise ->Promise : Promise declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void @@ -21,14 +20,12 @@ declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void> ->Promise : Promise >arg0 : boolean >arg1 : boolean >arg2 : boolean declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }> ->Promise : Promise >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void >arg0 : boolean >arg1 : boolean @@ -42,7 +39,6 @@ declare function after(): void; async function func(): Promise { >func : () => Promise ->Promise : Promise before(); >before() : void diff --git a/tests/baselines/reference/awaitCallExpression7_es2017.types b/tests/baselines/reference/awaitCallExpression7_es2017.types index aefe7916852..574fde5a8f6 100644 --- a/tests/baselines/reference/awaitCallExpression7_es2017.types +++ b/tests/baselines/reference/awaitCallExpression7_es2017.types @@ -4,7 +4,6 @@ declare var a: boolean; declare var p: Promise; >p : Promise ->Promise : Promise declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void @@ -21,14 +20,12 @@ declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void> ->Promise : Promise >arg0 : boolean >arg1 : boolean >arg2 : boolean declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }> ->Promise : Promise >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void >arg0 : boolean >arg1 : boolean @@ -42,7 +39,6 @@ declare function after(): void; async function func(): Promise { >func : () => Promise ->Promise : Promise before(); >before() : void diff --git a/tests/baselines/reference/awaitCallExpression7_es5.types b/tests/baselines/reference/awaitCallExpression7_es5.types index 9d220c6c8b8..6cdb961aedd 100644 --- a/tests/baselines/reference/awaitCallExpression7_es5.types +++ b/tests/baselines/reference/awaitCallExpression7_es5.types @@ -4,7 +4,6 @@ declare var a: boolean; declare var p: Promise; >p : Promise ->Promise : Promise declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void @@ -21,14 +20,12 @@ declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void> ->Promise : Promise >arg0 : boolean >arg1 : boolean >arg2 : boolean declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }> ->Promise : Promise >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void >arg0 : boolean >arg1 : boolean @@ -42,7 +39,6 @@ declare function after(): void; async function func(): Promise { >func : () => Promise ->Promise : Promise before(); >before() : void diff --git a/tests/baselines/reference/awaitCallExpression7_es6.types b/tests/baselines/reference/awaitCallExpression7_es6.types index e36b3773091..9acc195ad0c 100644 --- a/tests/baselines/reference/awaitCallExpression7_es6.types +++ b/tests/baselines/reference/awaitCallExpression7_es6.types @@ -4,7 +4,6 @@ declare var a: boolean; declare var p: Promise; >p : Promise ->Promise : Promise declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void @@ -21,14 +20,12 @@ declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void> ->Promise : Promise >arg0 : boolean >arg1 : boolean >arg2 : boolean declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }> ->Promise : Promise >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void >arg0 : boolean >arg1 : boolean @@ -42,7 +39,6 @@ declare function after(): void; async function func(): Promise { >func : () => Promise ->Promise : Promise before(); >before() : void diff --git a/tests/baselines/reference/awaitCallExpression8_es2017.types b/tests/baselines/reference/awaitCallExpression8_es2017.types index a9a115d39f2..6fcbed0fd0d 100644 --- a/tests/baselines/reference/awaitCallExpression8_es2017.types +++ b/tests/baselines/reference/awaitCallExpression8_es2017.types @@ -4,7 +4,6 @@ declare var a: boolean; declare var p: Promise; >p : Promise ->Promise : Promise declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void @@ -21,14 +20,12 @@ declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void> ->Promise : Promise >arg0 : boolean >arg1 : boolean >arg2 : boolean declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }> ->Promise : Promise >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void >arg0 : boolean >arg1 : boolean @@ -42,7 +39,6 @@ declare function after(): void; async function func(): Promise { >func : () => Promise ->Promise : Promise before(); >before() : void diff --git a/tests/baselines/reference/awaitCallExpression8_es5.types b/tests/baselines/reference/awaitCallExpression8_es5.types index 1b2fa16d1fc..46e4088898d 100644 --- a/tests/baselines/reference/awaitCallExpression8_es5.types +++ b/tests/baselines/reference/awaitCallExpression8_es5.types @@ -4,7 +4,6 @@ declare var a: boolean; declare var p: Promise; >p : Promise ->Promise : Promise declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void @@ -21,14 +20,12 @@ declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void> ->Promise : Promise >arg0 : boolean >arg1 : boolean >arg2 : boolean declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }> ->Promise : Promise >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void >arg0 : boolean >arg1 : boolean @@ -42,7 +39,6 @@ declare function after(): void; async function func(): Promise { >func : () => Promise ->Promise : Promise before(); >before() : void diff --git a/tests/baselines/reference/awaitCallExpression8_es6.types b/tests/baselines/reference/awaitCallExpression8_es6.types index 8258ba830b2..ed0dbb8abd6 100644 --- a/tests/baselines/reference/awaitCallExpression8_es6.types +++ b/tests/baselines/reference/awaitCallExpression8_es6.types @@ -4,7 +4,6 @@ declare var a: boolean; declare var p: Promise; >p : Promise ->Promise : Promise declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void @@ -21,14 +20,12 @@ declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void> ->Promise : Promise >arg0 : boolean >arg1 : boolean >arg2 : boolean declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }> ->Promise : Promise >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void >arg0 : boolean >arg1 : boolean @@ -42,7 +39,6 @@ declare function after(): void; async function func(): Promise { >func : () => Promise ->Promise : Promise before(); >before() : void diff --git a/tests/baselines/reference/awaitClassExpression_es2017.types b/tests/baselines/reference/awaitClassExpression_es2017.types index 39d17b1cc50..83927633d99 100644 --- a/tests/baselines/reference/awaitClassExpression_es2017.types +++ b/tests/baselines/reference/awaitClassExpression_es2017.types @@ -4,12 +4,10 @@ declare class C { } declare var p: Promise; >p : Promise ->Promise : Promise >C : typeof C async function func(): Promise { >func : () => Promise ->Promise : Promise class D extends (await p) { >D : D diff --git a/tests/baselines/reference/awaitClassExpression_es5.types b/tests/baselines/reference/awaitClassExpression_es5.types index e1f4bf8f82e..d413b622624 100644 --- a/tests/baselines/reference/awaitClassExpression_es5.types +++ b/tests/baselines/reference/awaitClassExpression_es5.types @@ -4,12 +4,10 @@ declare class C { } declare var p: Promise; >p : Promise ->Promise : Promise >C : typeof C async function func(): Promise { >func : () => Promise ->Promise : Promise class D extends (await p) { >D : D diff --git a/tests/baselines/reference/awaitClassExpression_es6.types b/tests/baselines/reference/awaitClassExpression_es6.types index 4a778021720..5dccdb045ee 100644 --- a/tests/baselines/reference/awaitClassExpression_es6.types +++ b/tests/baselines/reference/awaitClassExpression_es6.types @@ -4,12 +4,10 @@ declare class C { } declare var p: Promise; >p : Promise ->Promise : Promise >C : typeof C async function func(): Promise { >func : () => Promise ->Promise : Promise class D extends (await p) { >D : D diff --git a/tests/baselines/reference/awaitInheritedPromise_es2017.types b/tests/baselines/reference/awaitInheritedPromise_es2017.types index bed681181b0..c41160297eb 100644 --- a/tests/baselines/reference/awaitInheritedPromise_es2017.types +++ b/tests/baselines/reference/awaitInheritedPromise_es2017.types @@ -1,11 +1,7 @@ === tests/cases/conformance/async/es2017/awaitInheritedPromise_es2017.ts === interface A extends Promise {} ->A : A ->Promise : Promise - declare var a: A; >a : A ->A : A async function f() { >f : () => Promise diff --git a/tests/baselines/reference/awaitUnionPromise.types b/tests/baselines/reference/awaitUnionPromise.types index f1d91c038de..792be1d7e4e 100644 --- a/tests/baselines/reference/awaitUnionPromise.types +++ b/tests/baselines/reference/awaitUnionPromise.types @@ -6,31 +6,17 @@ class AsyncEnumeratorDone { }; >AsyncEnumeratorDone : AsyncEnumeratorDone interface IAsyncEnumerator { ->IAsyncEnumerator : IAsyncEnumerator ->T : T - next1(): Promise; >next1 : () => Promise ->Promise : Promise ->T : T ->AsyncEnumeratorDone : AsyncEnumeratorDone next2(): Promise | Promise; >next2 : () => Promise | Promise ->Promise : Promise ->T : T ->Promise : Promise ->AsyncEnumeratorDone : AsyncEnumeratorDone next3(): Promise; >next3 : () => Promise<{} | T> ->Promise : Promise ->T : T next4(): Promise; >next4 : () => Promise ->Promise : Promise ->T : T >x : string } @@ -39,7 +25,6 @@ async function main() { const x: IAsyncEnumerator = null; >x : IAsyncEnumerator ->IAsyncEnumerator : IAsyncEnumerator >null : null let a = await x.next1(); diff --git a/tests/baselines/reference/awaitUnion_es5.types b/tests/baselines/reference/awaitUnion_es5.types index 25c54d37ae8..443b9ba6469 100644 --- a/tests/baselines/reference/awaitUnion_es5.types +++ b/tests/baselines/reference/awaitUnion_es5.types @@ -4,20 +4,15 @@ declare let a: number | string; declare let b: PromiseLike | PromiseLike; >b : PromiseLike | PromiseLike ->PromiseLike : PromiseLike ->PromiseLike : PromiseLike declare let c: PromiseLike; >c : PromiseLike ->PromiseLike : PromiseLike declare let d: number | PromiseLike; >d : number | PromiseLike ->PromiseLike : PromiseLike declare let e: number | PromiseLike; >e : number | PromiseLike ->PromiseLike : PromiseLike async function f() { >f : () => Promise diff --git a/tests/baselines/reference/awaitUnion_es6.types b/tests/baselines/reference/awaitUnion_es6.types index e15bf60fce2..2f1f31a0082 100644 --- a/tests/baselines/reference/awaitUnion_es6.types +++ b/tests/baselines/reference/awaitUnion_es6.types @@ -4,20 +4,15 @@ declare let a: number | string; declare let b: PromiseLike | PromiseLike; >b : PromiseLike | PromiseLike ->PromiseLike : PromiseLike ->PromiseLike : PromiseLike declare let c: PromiseLike; >c : PromiseLike ->PromiseLike : PromiseLike declare let d: number | PromiseLike; >d : number | PromiseLike ->PromiseLike : PromiseLike declare let e: number | PromiseLike; >e : number | PromiseLike ->PromiseLike : PromiseLike async function f() { >f : () => Promise diff --git a/tests/baselines/reference/badArraySyntax.types b/tests/baselines/reference/badArraySyntax.types index 579dc76301f..053b4af9448 100644 --- a/tests/baselines/reference/badArraySyntax.types +++ b/tests/baselines/reference/badArraySyntax.types @@ -9,7 +9,6 @@ class Z { var a1: Z[] = []; >a1 : Z[] ->Z : Z >[] : undefined[] var a2 = new Z[]; @@ -28,7 +27,6 @@ var a3 = new Z[](); var a4: Z[] = new Z[]; >a4 : Z[] ->Z : Z >new Z[] : any >Z[] : any >Z : typeof Z @@ -36,7 +34,6 @@ var a4: Z[] = new Z[]; var a5: Z[] = new Z[](); >a5 : Z[] ->Z : Z >new Z[]() : any >Z[] : any >Z : typeof Z @@ -44,7 +41,6 @@ var a5: Z[] = new Z[](); var a6: Z[][] = new Z [ ] [ ]; >a6 : Z[][] ->Z : Z >new Z [ ] [ ] : any >Z [ ] [ ] : any >Z [ ] : any diff --git a/tests/baselines/reference/badExternalModuleReference.types b/tests/baselines/reference/badExternalModuleReference.types index 61314d8abb8..82fdfd62f79 100644 --- a/tests/baselines/reference/badExternalModuleReference.types +++ b/tests/baselines/reference/badExternalModuleReference.types @@ -8,11 +8,9 @@ export declare var a: { test1: a1.connectModule; >test1 : any >a1 : any ->connectModule : any (): a1.connectExport; >a1 : any ->connectExport : any }; diff --git a/tests/baselines/reference/baseClassImprovedMismatchErrors.types b/tests/baselines/reference/baseClassImprovedMismatchErrors.types index 0ca00a02248..d1e79659d3e 100644 --- a/tests/baselines/reference/baseClassImprovedMismatchErrors.types +++ b/tests/baselines/reference/baseClassImprovedMismatchErrors.types @@ -4,7 +4,6 @@ class Base { n: Base | string; >n : string | Base ->Base : Base fn() { >fn : () => number @@ -19,7 +18,6 @@ class Derived extends Base { n: Derived | string; >n : string | Derived ->Derived : Derived fn() { >fn : () => string | number @@ -31,11 +29,9 @@ class Derived extends Base { } class DerivedInterface implements Base { >DerivedInterface : DerivedInterface ->Base : Base n: DerivedInterface | string; >n : string | DerivedInterface ->DerivedInterface : DerivedInterface fn() { >fn : () => string | number diff --git a/tests/baselines/reference/baseConstraintOfDecorator.types b/tests/baselines/reference/baseConstraintOfDecorator.types index f1af8a8d503..edf9641a4ba 100644 --- a/tests/baselines/reference/baseConstraintOfDecorator.types +++ b/tests/baselines/reference/baseConstraintOfDecorator.types @@ -1,13 +1,10 @@ === tests/cases/compiler/baseConstraintOfDecorator.ts === export function classExtender(superClass: TFunction, _instanceModifier: (instance: any, args: any[]) => void): TFunction { >classExtender : (superClass: TFunction, _instanceModifier: (instance: any, args: any[]) => void) => TFunction ->TFunction : TFunction >superClass : TFunction ->TFunction : TFunction >_instanceModifier : (instance: any, args: any[]) => void >instance : any >args : any[] ->TFunction : TFunction return class decoratorFunc extends superClass { >class decoratorFunc extends superClass { constructor(...args: any[]) { super(...args); _instanceModifier(this, args); } } : typeof decoratorFunc diff --git a/tests/baselines/reference/baseExpressionTypeParameters.types b/tests/baselines/reference/baseExpressionTypeParameters.types index 252d39e5e36..0b317935ec6 100644 --- a/tests/baselines/reference/baseExpressionTypeParameters.types +++ b/tests/baselines/reference/baseExpressionTypeParameters.types @@ -3,14 +3,12 @@ function base() { >base : () => typeof Base ->T : T class Base { >Base : Base static prop: T; >prop : T ->T : T } return Base; >Base : typeof Base @@ -18,10 +16,8 @@ function base() { class Gen extends base() {} // Error, T not in scope >Gen : Gen ->T : T >base() : base.Base >base : () => typeof Base ->T : No type information available! class Spec extends Gen {} >Spec : Spec diff --git a/tests/baselines/reference/baseIndexSignatureResolution.types b/tests/baselines/reference/baseIndexSignatureResolution.types index 17fb5cf85de..49ecc21f02e 100644 --- a/tests/baselines/reference/baseIndexSignatureResolution.types +++ b/tests/baselines/reference/baseIndexSignatureResolution.types @@ -10,31 +10,19 @@ class Derived extends Base { private b: string; } // Note - commmenting "extends Foo" prevents the error interface Foo { ->Foo : Foo - [i: number]: Base; >i : number ->Base : Base } interface FooOf extends Foo { ->FooOf : FooOf ->TBase : TBase ->Base : Base ->Foo : Foo - [i: number]: TBase; >i : number ->TBase : TBase } var x: FooOf = null; >x : FooOf ->FooOf : FooOf ->Derived : Derived >null : null var y: Derived = x[0]; >y : Derived ->Derived : Derived >x[0] : Derived >x : FooOf >0 : 0 diff --git a/tests/baselines/reference/baseTypeAfterDerivedType.types b/tests/baselines/reference/baseTypeAfterDerivedType.types index 2ac50aa019a..b4b182ad24c 100644 --- a/tests/baselines/reference/baseTypeAfterDerivedType.types +++ b/tests/baselines/reference/baseTypeAfterDerivedType.types @@ -1,16 +1,11 @@ === tests/cases/compiler/baseTypeAfterDerivedType.ts === interface Derived extends Base { ->Derived : Derived ->Base : Base - method(...args: any[]): void; >method : (...args: any[]) => void >args : any[] } interface Base { ->Base : Base - method(...args: any[]): void; >method : (...args: any[]) => void >args : any[] @@ -18,7 +13,6 @@ interface Base { class Derived2 implements Base2 { >Derived2 : Derived2 ->Base2 : Base2 method(...args: any[]): void { } >method : (...args: any[]) => void @@ -26,8 +20,6 @@ class Derived2 implements Base2 { } interface Base2 { ->Base2 : Base2 - method(...args: any[]): void; >method : (...args: any[]) => void >args : any[] diff --git a/tests/baselines/reference/baseTypeOrderChecking.types b/tests/baselines/reference/baseTypeOrderChecking.types index 4193f255f36..2664465d4de 100644 --- a/tests/baselines/reference/baseTypeOrderChecking.types +++ b/tests/baselines/reference/baseTypeOrderChecking.types @@ -1,8 +1,6 @@ === tests/cases/compiler/baseTypeOrderChecking.ts === var someVariable: Class4; >someVariable : Class4 ->Class4 : Class4 ->Class2 : Class2 @@ -27,13 +25,11 @@ class Class2 extends Class1 class Class3 >Class3 : Class3 ->T : T { public memberVariable: Class2; >memberVariable : Class2 ->Class2 : Class2 } @@ -41,9 +37,7 @@ class Class3 class Class4 extends Class3 >Class4 : Class4 ->T : T >Class3 : Class3 ->T : T { diff --git a/tests/baselines/reference/baseTypePrivateMemberClash.types b/tests/baselines/reference/baseTypePrivateMemberClash.types index 6cd8b89628a..e3c80e6717b 100644 --- a/tests/baselines/reference/baseTypePrivateMemberClash.types +++ b/tests/baselines/reference/baseTypePrivateMemberClash.types @@ -13,7 +13,3 @@ class Y { } interface Z extends X, Y { } ->Z : Z ->X : X ->Y : Y - diff --git a/tests/baselines/reference/baseTypeWrappingInstantiationChain.types b/tests/baselines/reference/baseTypeWrappingInstantiationChain.types index ede580c6c7d..127241a26c7 100644 --- a/tests/baselines/reference/baseTypeWrappingInstantiationChain.types +++ b/tests/baselines/reference/baseTypeWrappingInstantiationChain.types @@ -1,47 +1,35 @@ === tests/cases/compiler/baseTypeWrappingInstantiationChain.ts === class CBaseBase { >CBaseBase : CBaseBase ->T3 : T3 constructor(x: Parameter) { } >x : Parameter ->Parameter : Parameter ->T3 : T3 } class CBase extends CBaseBase> { >CBase : CBase ->T2 : T2 >CBaseBase : CBaseBase> ->Wrapper : Wrapper ->T2 : T2 } class Parameter { >Parameter : Parameter ->T4 : T4 method(t: T4) { } >method : (t: T4) => void >t : T4 ->T4 : T4 } class Wrapper { >Wrapper : Wrapper ->T5 : T5 property: T5; >property : T5 ->T5 : T5 } class C extends CBase { >C : C ->T1 : T1 >CBase : CBase ->T1 : T1 public works() { >works : () => void @@ -49,8 +37,6 @@ class C extends CBase { new CBaseBase>(this); >new CBaseBase>(this) : CBaseBase> >CBaseBase : typeof CBaseBase ->Wrapper : Wrapper ->T1 : T1 >this : this } public alsoWorks() { @@ -59,14 +45,11 @@ class C extends CBase { new CBase(this); // Should not error, parameter is of type Parameter> >new CBase(this) : CBase >CBase : typeof CBase ->T1 : T1 >this : this } public method(t: Wrapper) { } >method : (t: Wrapper) => void >t : Wrapper ->Wrapper : Wrapper ->T1 : T1 } diff --git a/tests/baselines/reference/bases.types b/tests/baselines/reference/bases.types index 46a641a1881..60bc5b786fb 100644 --- a/tests/baselines/reference/bases.types +++ b/tests/baselines/reference/bases.types @@ -1,7 +1,5 @@ === tests/cases/compiler/bases.ts === interface I { ->I : I - x; >x : any } @@ -21,7 +19,6 @@ class B { class C extends B implements I { >C : C >B : B ->I : I constructor() { this.x: any; diff --git a/tests/baselines/reference/bestCommonTypeOfConditionalExpressions.types b/tests/baselines/reference/bestCommonTypeOfConditionalExpressions.types index 9a10984a522..60483f27213 100644 --- a/tests/baselines/reference/bestCommonTypeOfConditionalExpressions.types +++ b/tests/baselines/reference/bestCommonTypeOfConditionalExpressions.types @@ -28,15 +28,12 @@ class Derived2 extends Base { baz: string; } var base: Base; >base : Base ->Base : Base var derived: Derived; >derived : Derived ->Derived : Derived var derived2: Derived2; >derived2 : Derived2 ->Derived2 : Derived2 var r = true ? 1 : 2; >r : number @@ -74,19 +71,16 @@ var r6 = true ? (x: number) => { } : (x: Object) => { }; // returns number => vo >x : number >(x: Object) => { } : (x: Object) => void >x : Object ->Object : Object var r7: (x: Object) => void = true ? (x: number) => { } : (x: Object) => { }; >r7 : (x: Object) => void >x : Object ->Object : Object >true ? (x: number) => { } : (x: Object) => { } : (x: number) => void >true : true >(x: number) => { } : (x: number) => void >x : number >(x: Object) => { } : (x: Object) => void >x : Object ->Object : Object var r8 = true ? (x: Object) => { } : (x: number) => { }; // returns Object => void >r8 : (x: Object) => void @@ -94,13 +88,11 @@ var r8 = true ? (x: Object) => { } : (x: number) => { }; // returns Object => vo >true : true >(x: Object) => { } : (x: Object) => void >x : Object ->Object : Object >(x: number) => { } : (x: number) => void >x : number var r10: Base = true ? derived : derived2; // no error since we use the contextual type in BCT >r10 : Base ->Base : Base >true ? derived : derived2 : Derived | Derived2 >true : true >derived : Derived @@ -115,13 +107,8 @@ var r11 = true ? base : derived2; function foo5(t: T, u: U): Object { >foo5 : (t: T, u: U) => Object ->T : T ->U : U >t : T ->T : T >u : U ->U : U ->Object : Object return true ? t : u; // BCT is Object >true ? t : u : T | U diff --git a/tests/baselines/reference/bestCommonTypeOfConditionalExpressions2.types b/tests/baselines/reference/bestCommonTypeOfConditionalExpressions2.types index ad09c274c9b..f9488bedd36 100644 --- a/tests/baselines/reference/bestCommonTypeOfConditionalExpressions2.types +++ b/tests/baselines/reference/bestCommonTypeOfConditionalExpressions2.types @@ -18,15 +18,12 @@ class Derived2 extends Base { baz: string; } var base: Base; >base : Base ->Base : Base var derived: Derived; >derived : Derived ->Derived : Derived var derived2: Derived2; >derived2 : Derived2 ->Derived2 : Derived2 var r2 = true ? 1 : ''; >r2 : string | number @@ -44,12 +41,8 @@ var r9 = true ? derived : derived2; function foo(t: T, u: U) { >foo : (t: T, u: U) => T | U ->T : T ->U : U >t : T ->T : T >u : U ->U : U return true ? t : u; >true ? t : u : T | U @@ -60,13 +53,8 @@ function foo(t: T, u: U) { function foo2(t: T, u: U) { // Error for referencing own type parameter >foo2 : (t: T, u: U) => U ->T : T ->U : U ->U : U >t : T ->T : T >u : U ->U : U return true ? t : u; // Ok because BCT(T, U) = U >true ? t : u : U @@ -77,15 +65,8 @@ function foo2(t: T, u: U) { // Error for referencing own type pa function foo3(t: T, u: U) { >foo3 : (t: T, u: U) => U ->T : T ->U : U ->U : U ->V : V ->V : V >t : T ->T : T >u : U ->U : U return true ? t : u; >true ? t : u : U diff --git a/tests/baselines/reference/bestCommonTypeOfTuple.types b/tests/baselines/reference/bestCommonTypeOfTuple.types index d62503b57d6..67c6c08654b 100644 --- a/tests/baselines/reference/bestCommonTypeOfTuple.types +++ b/tests/baselines/reference/bestCommonTypeOfTuple.types @@ -30,16 +30,12 @@ var t1: [(x: number) => string, (x: number) => number]; var t2: [E1, E2]; >t2 : [E1, E2] ->E1 : E1 ->E2 : E2 var t3: [number, any]; >t3 : [number, any] var t4: [E1, E2, number]; >t4 : [E1, E2, number] ->E1 : E1 ->E2 : E2 // no error t1 = [f1, f2]; diff --git a/tests/baselines/reference/bestCommonTypeOfTuple2.types b/tests/baselines/reference/bestCommonTypeOfTuple2.types index b64da59d5b0..33691bc65a9 100644 --- a/tests/baselines/reference/bestCommonTypeOfTuple2.types +++ b/tests/baselines/reference/bestCommonTypeOfTuple2.types @@ -1,24 +1,18 @@ === tests/cases/conformance/types/typeRelationships/bestCommonType/bestCommonTypeOfTuple2.ts === interface base { } ->base : base - interface base1 { i } ->base1 : base1 >i : any class C implements base { c } >C : C ->base : base >c : any class D implements base { d } >D : D ->base : base >d : any class E implements base { e } >E : E ->base : base >e : any class F extends C { f } @@ -28,7 +22,6 @@ class F extends C { f } class C1 implements base1 { i = "foo"; c } >C1 : C1 ->base1 : base1 >i : string >"foo" : "foo" >c : any @@ -42,28 +35,18 @@ class D1 extends C1 { i = "bar"; d } var t1: [C, base]; >t1 : [C, base] ->C : C ->base : base var t2: [C, D]; >t2 : [C, D] ->C : C ->D : D var t3: [C1, D1]; >t3 : [C1, D1] ->C1 : C1 ->D1 : D1 var t4: [base1, C1]; >t4 : [base1, C1] ->base1 : base1 ->C1 : C1 var t5: [C1, F] >t5 : [C1, F] ->C1 : C1 ->F : F var e11 = t1[4]; // base >e11 : base | C diff --git a/tests/baselines/reference/bestCommonTypeReturnStatement.types b/tests/baselines/reference/bestCommonTypeReturnStatement.types index 3cc3a221212..c8545f57866 100644 --- a/tests/baselines/reference/bestCommonTypeReturnStatement.types +++ b/tests/baselines/reference/bestCommonTypeReturnStatement.types @@ -1,16 +1,11 @@ === tests/cases/compiler/bestCommonTypeReturnStatement.ts === interface IPromise { ->IPromise : IPromise ->T : T - then(successCallback: (promiseValue: T) => any, errorCallback?: (reason: any) => any): IPromise; >then : (successCallback: (promiseValue: T) => any, errorCallback?: (reason: any) => any) => IPromise >successCallback : (promiseValue: T) => any >promiseValue : T ->T : T >errorCallback : (reason: any) => any >reason : any ->IPromise : IPromise } function f() { @@ -29,11 +24,9 @@ function f() { function b(): IPromise { return null; } >b : () => IPromise ->IPromise : IPromise >null : null function d(): IPromise { return null; } >d : () => IPromise ->IPromise : IPromise >null : null diff --git a/tests/baselines/reference/bestCommonTypeWithContextualTyping.types b/tests/baselines/reference/bestCommonTypeWithContextualTyping.types index 5baca43b752..889b344a070 100644 --- a/tests/baselines/reference/bestCommonTypeWithContextualTyping.types +++ b/tests/baselines/reference/bestCommonTypeWithContextualTyping.types @@ -1,7 +1,5 @@ === tests/cases/compiler/bestCommonTypeWithContextualTyping.ts === interface Contextual { ->Contextual : Contextual - dummy; >dummy : any @@ -10,8 +8,6 @@ interface Contextual { } interface Ellement { ->Ellement : Ellement - dummy; >dummy : any @@ -21,28 +17,24 @@ interface Ellement { var e: Ellement; >e : Ellement ->Ellement : Ellement // All of these should pass. Neither type is a supertype of the other, but the RHS should // always use Ellement in these examples (not Contextual). Because Ellement is assignable // to Contextual, no errors. var arr: Contextual[] = [e]; // Ellement[] >arr : Contextual[] ->Contextual : Contextual >[e] : Ellement[] >e : Ellement var obj: { [s: string]: Contextual } = { s: e }; // { s: Ellement; [s: string]: Ellement } >obj : { [s: string]: Contextual; } >s : string ->Contextual : Contextual >{ s: e } : { s: Ellement; } >s : Ellement >e : Ellement var conditional: Contextual = null ? e : e; // Ellement >conditional : Contextual ->Contextual : Contextual >null ? e : e : Ellement >null : null >e : Ellement @@ -50,7 +42,6 @@ var conditional: Contextual = null ? e : e; // Ellement var contextualOr: Contextual = e || e; // Ellement >contextualOr : Contextual ->Contextual : Contextual >e || e : Ellement >e : Ellement >e : Ellement diff --git a/tests/baselines/reference/bestCommonTypeWithOptionalProperties.types b/tests/baselines/reference/bestCommonTypeWithOptionalProperties.types index df40291b0e5..6d5d6cb8726 100644 --- a/tests/baselines/reference/bestCommonTypeWithOptionalProperties.types +++ b/tests/baselines/reference/bestCommonTypeWithOptionalProperties.types @@ -1,29 +1,21 @@ === tests/cases/compiler/bestCommonTypeWithOptionalProperties.ts === interface X { foo: string } ->X : X >foo : string interface Y extends X { bar?: number } ->Y : Y ->X : X >bar : number interface Z extends X { bar: string } ->Z : Z ->X : X >bar : string var x: X; >x : X ->X : X var y: Y; >y : Y ->Y : Y var z: Z; >z : Z ->Z : Z // All these arrays should be X[] var b1 = [x, y, z]; diff --git a/tests/baselines/reference/bind1.types b/tests/baselines/reference/bind1.types index 7502febacca..111def9c7f0 100644 --- a/tests/baselines/reference/bind1.types +++ b/tests/baselines/reference/bind1.types @@ -4,7 +4,6 @@ module M { export class C implements I {} // this should be an unresolved symbol I error >C : C ->I : No type information available! } diff --git a/tests/baselines/reference/bluebirdStaticThis.types b/tests/baselines/reference/bluebirdStaticThis.types index a3a968cd828..7708a733c59 100644 --- a/tests/baselines/reference/bluebirdStaticThis.types +++ b/tests/baselines/reference/bluebirdStaticThis.types @@ -5,164 +5,110 @@ // Tests by: Bart van der Schoor export declare class Promise implements Promise.Thenable { >Promise : Promise ->R : R ->Promise.Thenable : any >Promise : typeof Promise ->Thenable : Promise.Thenable ->R : R constructor(callback: (resolve: (thenableOrResult: R | Promise.Thenable) => void, reject: (error: any) => void) => void); >callback : (resolve: (thenableOrResult: R | Promise.Thenable) => void, reject: (error: any) => void) => void >resolve : (thenableOrResult: R | Promise.Thenable) => void >thenableOrResult : R | Promise.Thenable ->R : R >Promise : any ->Thenable : Promise.Thenable ->R : R >reject : (error: any) => void >error : any static try(dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; >try : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; } ->R : R >dit : typeof Promise >Promise : typeof Promise >fn : () => Promise.Thenable >Promise : any ->Thenable : Promise.Thenable ->R : R >args : any[] >ctx : any ->Promise : Promise ->R : R static try(dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; >try : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; } ->R : R >dit : typeof Promise >Promise : typeof Promise >fn : () => R ->R : R >args : any[] >ctx : any ->Promise : Promise ->R : R static attempt(dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; >attempt : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; } ->R : R >dit : typeof Promise >Promise : typeof Promise >fn : () => Promise.Thenable >Promise : any ->Thenable : Promise.Thenable ->R : R >args : any[] >ctx : any ->Promise : Promise ->R : R static attempt(dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; >attempt : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; } ->R : R >dit : typeof Promise >Promise : typeof Promise >fn : () => R ->R : R >args : any[] >ctx : any ->Promise : Promise ->R : R static method(dit: typeof Promise, fn: Function): Function; >method : (dit: typeof Promise, fn: Function) => Function >dit : typeof Promise >Promise : typeof Promise >fn : Function ->Function : Function ->Function : Function static resolve(dit: typeof Promise): Promise; >resolve : { (dit: typeof Promise): Promise; (dit: typeof Promise, value: Promise.Thenable): Promise; (dit: typeof Promise, value: R): Promise; } >dit : typeof Promise >Promise : typeof Promise ->Promise : Promise static resolve(dit: typeof Promise, value: Promise.Thenable): Promise; >resolve : { (dit: typeof Promise): Promise; (dit: typeof Promise, value: Promise.Thenable): Promise; (dit: typeof Promise, value: R): Promise; } ->R : R >dit : typeof Promise >Promise : typeof Promise >value : Promise.Thenable >Promise : any ->Thenable : Promise.Thenable ->R : R ->Promise : Promise ->R : R static resolve(dit: typeof Promise, value: R): Promise; >resolve : { (dit: typeof Promise): Promise; (dit: typeof Promise, value: Promise.Thenable): Promise; (dit: typeof Promise, value: R): Promise; } ->R : R >dit : typeof Promise >Promise : typeof Promise >value : R ->R : R ->Promise : Promise ->R : R static reject(dit: typeof Promise, reason: any): Promise; >reject : { (dit: typeof Promise, reason: any): Promise; (dit: typeof Promise, reason: any): Promise; } >dit : typeof Promise >Promise : typeof Promise >reason : any ->Promise : Promise static reject(dit: typeof Promise, reason: any): Promise; >reject : { (dit: typeof Promise, reason: any): Promise; (dit: typeof Promise, reason: any): Promise; } ->R : R >dit : typeof Promise >Promise : typeof Promise >reason : any ->Promise : Promise ->R : R static defer(dit: typeof Promise): Promise.Resolver; >defer : (dit: typeof Promise) => any ->R : R >dit : typeof Promise >Promise : typeof Promise >Promise : any ->Resolver : No type information available! ->R : R static cast(dit: typeof Promise, value: Promise.Thenable): Promise; >cast : { (dit: typeof Promise, value: Promise.Thenable): Promise; (dit: typeof Promise, value: R): Promise; } ->R : R >dit : typeof Promise >Promise : typeof Promise >value : Promise.Thenable >Promise : any ->Thenable : Promise.Thenable ->R : R ->Promise : Promise ->R : R static cast(dit: typeof Promise, value: R): Promise; >cast : { (dit: typeof Promise, value: Promise.Thenable): Promise; (dit: typeof Promise, value: R): Promise; } ->R : R >dit : typeof Promise >Promise : typeof Promise >value : R ->R : R ->Promise : Promise ->R : R static bind(dit: typeof Promise, thisArg: any): Promise; >bind : (dit: typeof Promise, thisArg: any) => Promise >dit : typeof Promise >Promise : typeof Promise >thisArg : any ->Promise : Promise static is(dit: typeof Promise, value: any): boolean; >is : (dit: typeof Promise, value: any) => boolean @@ -177,70 +123,49 @@ export declare class Promise implements Promise.Thenable { static delay(dit: typeof Promise, value: Promise.Thenable, ms: number): Promise; >delay : { (dit: typeof Promise, value: Promise.Thenable, ms: number): Promise; (dit: typeof Promise, value: R, ms: number): Promise; (dit: typeof Promise, ms: number): Promise; } ->R : R >dit : typeof Promise >Promise : typeof Promise >value : Promise.Thenable >Promise : any ->Thenable : Promise.Thenable ->R : R >ms : number ->Promise : Promise ->R : R static delay(dit: typeof Promise, value: R, ms: number): Promise; >delay : { (dit: typeof Promise, value: Promise.Thenable, ms: number): Promise; (dit: typeof Promise, value: R, ms: number): Promise; (dit: typeof Promise, ms: number): Promise; } ->R : R >dit : typeof Promise >Promise : typeof Promise >value : R ->R : R >ms : number ->Promise : Promise ->R : R static delay(dit: typeof Promise, ms: number): Promise; >delay : { (dit: typeof Promise, value: Promise.Thenable, ms: number): Promise; (dit: typeof Promise, value: R, ms: number): Promise; (dit: typeof Promise, ms: number): Promise; } >dit : typeof Promise >Promise : typeof Promise >ms : number ->Promise : Promise static promisify(dit: typeof Promise, nodeFunction: Function, receiver?: any): Function; >promisify : (dit: typeof Promise, nodeFunction: Function, receiver?: any) => Function >dit : typeof Promise >Promise : typeof Promise >nodeFunction : Function ->Function : Function >receiver : any ->Function : Function static promisifyAll(dit: typeof Promise, target: Object): Object; >promisifyAll : (dit: typeof Promise, target: Object) => Object >dit : typeof Promise >Promise : typeof Promise >target : Object ->Object : Object ->Object : Object static coroutine(dit: typeof Promise, generatorFunction: Function): Function; >coroutine : (dit: typeof Promise, generatorFunction: Function) => Function ->R : R >dit : typeof Promise >Promise : typeof Promise >generatorFunction : Function ->Function : Function ->Function : Function static spawn(dit: typeof Promise, generatorFunction: Function): Promise; >spawn : (dit: typeof Promise, generatorFunction: Function) => Promise ->R : R >dit : typeof Promise >Promise : typeof Promise >generatorFunction : Function ->Function : Function ->Promise : Promise ->R : R static noConflict(dit: typeof Promise): typeof Promise; >noConflict : (dit: typeof Promise) => typeof Promise @@ -257,863 +182,504 @@ export declare class Promise implements Promise.Thenable { static all(dit: typeof Promise, values: Promise.Thenable[]>): Promise; >all : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R[]): Promise; } ->R : R >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable[]> >Promise : any ->Thenable : Promise.Thenable >Promise : any ->Thenable : Promise.Thenable ->R : R ->Promise : Promise ->R : R static all(dit: typeof Promise, values: Promise.Thenable): Promise; >all : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R[]): Promise; } ->R : R >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable >Promise : any ->Thenable : Promise.Thenable ->R : R ->Promise : Promise ->R : R static all(dit: typeof Promise, values: Promise.Thenable[]): Promise; >all : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R[]): Promise; } ->R : R >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable[] >Promise : any ->Thenable : Promise.Thenable ->R : R ->Promise : Promise ->R : R static all(dit: typeof Promise, values: R[]): Promise; >all : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R[]): Promise; } ->R : R >dit : typeof Promise >Promise : typeof Promise >values : R[] ->R : R ->Promise : Promise ->R : R static props(dit: typeof Promise, object: Promise): Promise; >props : { (dit: typeof Promise, object: Promise): Promise; (dit: typeof Promise, object: Object): Promise; } >dit : typeof Promise >Promise : typeof Promise >object : Promise ->Promise : Promise ->Object : Object ->Promise : Promise ->Object : Object static props(dit: typeof Promise, object: Object): Promise; >props : { (dit: typeof Promise, object: Promise): Promise; (dit: typeof Promise, object: Object): Promise; } >dit : typeof Promise >Promise : typeof Promise >object : Object ->Object : Object ->Promise : Promise ->Object : Object static settle(dit: typeof Promise, values: Promise.Thenable[]>): Promise[]>; >settle : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R[]): Promise; } ->R : R >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable[]> >Promise : any ->Thenable : Promise.Thenable >Promise : any ->Thenable : Promise.Thenable ->R : R ->Promise : Promise >Promise : any ->Inspection : No type information available! ->R : R static settle(dit: typeof Promise, values: Promise.Thenable): Promise[]>; >settle : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R[]): Promise; } ->R : R >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable >Promise : any ->Thenable : Promise.Thenable ->R : R ->Promise : Promise >Promise : any ->Inspection : No type information available! ->R : R static settle(dit: typeof Promise, values: Promise.Thenable[]): Promise[]>; >settle : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R[]): Promise; } ->R : R >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable[] >Promise : any ->Thenable : Promise.Thenable ->R : R ->Promise : Promise >Promise : any ->Inspection : No type information available! ->R : R static settle(dit: typeof Promise, values: R[]): Promise[]>; >settle : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R[]): Promise; } ->R : R >dit : typeof Promise >Promise : typeof Promise >values : R[] ->R : R ->Promise : Promise >Promise : any ->Inspection : No type information available! ->R : R static any(dit: typeof Promise, values: Promise.Thenable[]>): Promise; >any : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R[]): Promise; } ->R : R >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable[]> >Promise : any ->Thenable : Promise.Thenable >Promise : any ->Thenable : Promise.Thenable ->R : R ->Promise : Promise ->R : R static any(dit: typeof Promise, values: Promise.Thenable): Promise; >any : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R[]): Promise; } ->R : R >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable >Promise : any ->Thenable : Promise.Thenable ->R : R ->Promise : Promise ->R : R static any(dit: typeof Promise, values: Promise.Thenable[]): Promise; >any : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R[]): Promise; } ->R : R >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable[] >Promise : any ->Thenable : Promise.Thenable ->R : R ->Promise : Promise ->R : R static any(dit: typeof Promise, values: R[]): Promise; >any : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R[]): Promise; } ->R : R >dit : typeof Promise >Promise : typeof Promise >values : R[] ->R : R ->Promise : Promise ->R : R static race(dit: typeof Promise, values: Promise.Thenable[]>): Promise; >race : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R[]): Promise; } ->R : R >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable[]> >Promise : any ->Thenable : Promise.Thenable >Promise : any ->Thenable : Promise.Thenable ->R : R ->Promise : Promise ->R : R static race(dit: typeof Promise, values: Promise.Thenable): Promise; >race : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R[]): Promise; } ->R : R >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable >Promise : any ->Thenable : Promise.Thenable ->R : R ->Promise : Promise ->R : R static race(dit: typeof Promise, values: Promise.Thenable[]): Promise; >race : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R[]): Promise; } ->R : R >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable[] >Promise : any ->Thenable : Promise.Thenable ->R : R ->Promise : Promise ->R : R static race(dit: typeof Promise, values: R[]): Promise; >race : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R[]): Promise; } ->R : R >dit : typeof Promise >Promise : typeof Promise >values : R[] ->R : R ->Promise : Promise ->R : R static some(dit: typeof Promise, values: Promise.Thenable[]>, count: number): Promise; >some : { (dit: typeof Promise, values: Promise.Thenable[]>, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable[], count: number): Promise; (dit: typeof Promise, values: R[], count: number): Promise; } ->R : R >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable[]> >Promise : any ->Thenable : Promise.Thenable >Promise : any ->Thenable : Promise.Thenable ->R : R >count : number ->Promise : Promise ->R : R static some(dit: typeof Promise, values: Promise.Thenable, count: number): Promise; >some : { (dit: typeof Promise, values: Promise.Thenable[]>, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable[], count: number): Promise; (dit: typeof Promise, values: R[], count: number): Promise; } ->R : R >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable >Promise : any ->Thenable : Promise.Thenable ->R : R >count : number ->Promise : Promise ->R : R static some(dit: typeof Promise, values: Promise.Thenable[], count: number): Promise; >some : { (dit: typeof Promise, values: Promise.Thenable[]>, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable[], count: number): Promise; (dit: typeof Promise, values: R[], count: number): Promise; } ->R : R >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable[] >Promise : any ->Thenable : Promise.Thenable ->R : R >count : number ->Promise : Promise ->R : R static some(dit: typeof Promise, values: R[], count: number): Promise; >some : { (dit: typeof Promise, values: Promise.Thenable[]>, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable[], count: number): Promise; (dit: typeof Promise, values: R[], count: number): Promise; } ->R : R >dit : typeof Promise >Promise : typeof Promise >values : R[] ->R : R >count : number ->Promise : Promise ->R : R static join(dit: typeof Promise, ...values: Promise.Thenable[]): Promise; >join : { (dit: typeof Promise, ...values: Promise.Thenable[]): Promise; (dit: typeof Promise, ...values: R[]): Promise; } ->R : R >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable[] >Promise : any ->Thenable : Promise.Thenable ->R : R ->Promise : Promise ->R : R static join(dit: typeof Promise, ...values: R[]): Promise; >join : { (dit: typeof Promise, ...values: Promise.Thenable[]): Promise; (dit: typeof Promise, ...values: R[]): Promise; } ->R : R >dit : typeof Promise >Promise : typeof Promise >values : R[] ->R : R ->Promise : Promise ->R : R static map(dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; >map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; } ->R : R ->U : U >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable[]> >Promise : any ->Thenable : Promise.Thenable >Promise : any ->Thenable : Promise.Thenable ->R : R >mapper : (item: R, index: number, arrayLength: number) => Promise.Thenable >item : R ->R : R >index : number >arrayLength : number >Promise : any ->Thenable : Promise.Thenable ->U : U ->Promise : Promise ->U : U static map(dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => U): Promise; >map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; } ->R : R ->U : U >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable[]> >Promise : any ->Thenable : Promise.Thenable >Promise : any ->Thenable : Promise.Thenable ->R : R >mapper : (item: R, index: number, arrayLength: number) => U >item : R ->R : R >index : number >arrayLength : number ->U : U ->Promise : Promise ->U : U static map(dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; >map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; } ->R : R ->U : U >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable >Promise : any ->Thenable : Promise.Thenable ->R : R >mapper : (item: R, index: number, arrayLength: number) => Promise.Thenable >item : R ->R : R >index : number >arrayLength : number >Promise : any ->Thenable : Promise.Thenable ->U : U ->Promise : Promise ->U : U static map(dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => U): Promise; >map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; } ->R : R ->U : U >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable >Promise : any ->Thenable : Promise.Thenable ->R : R >mapper : (item: R, index: number, arrayLength: number) => U >item : R ->R : R >index : number >arrayLength : number ->U : U ->Promise : Promise ->U : U static map(dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; >map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; } ->R : R ->U : U >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable[] >Promise : any ->Thenable : Promise.Thenable ->R : R >mapper : (item: R, index: number, arrayLength: number) => Promise.Thenable >item : R ->R : R >index : number >arrayLength : number >Promise : any ->Thenable : Promise.Thenable ->U : U ->Promise : Promise ->U : U static map(dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; >map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; } ->R : R ->U : U >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable[] >Promise : any ->Thenable : Promise.Thenable ->R : R >mapper : (item: R, index: number, arrayLength: number) => U >item : R ->R : R >index : number >arrayLength : number ->U : U ->Promise : Promise ->U : U static map(dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; >map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; } ->R : R ->U : U >dit : typeof Promise >Promise : typeof Promise >values : R[] ->R : R >mapper : (item: R, index: number, arrayLength: number) => Promise.Thenable >item : R ->R : R >index : number >arrayLength : number >Promise : any ->Thenable : Promise.Thenable ->U : U ->Promise : Promise ->U : U static map(dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; >map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; } ->R : R ->U : U >dit : typeof Promise >Promise : typeof Promise >values : R[] ->R : R >mapper : (item: R, index: number, arrayLength: number) => U >item : R ->R : R >index : number >arrayLength : number ->U : U ->Promise : Promise ->U : U static reduce(dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; >reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; } ->R : R ->U : U >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable[]> >Promise : any ->Thenable : Promise.Thenable >Promise : any ->Thenable : Promise.Thenable ->R : R >reducer : (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable >total : U ->U : U >current : R ->R : R >index : number >arrayLength : number >Promise : any ->Thenable : Promise.Thenable ->U : U >initialValue : U ->U : U ->Promise : Promise ->U : U static reduce(dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; >reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; } ->R : R ->U : U >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable[]> >Promise : any ->Thenable : Promise.Thenable >Promise : any ->Thenable : Promise.Thenable ->R : R >reducer : (total: U, current: R, index: number, arrayLength: number) => U >total : U ->U : U >current : R ->R : R >index : number >arrayLength : number ->U : U >initialValue : U ->U : U ->Promise : Promise ->U : U static reduce(dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; >reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; } ->R : R ->U : U >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable >Promise : any ->Thenable : Promise.Thenable ->R : R >reducer : (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable >total : U ->U : U >current : R ->R : R >index : number >arrayLength : number >Promise : any ->Thenable : Promise.Thenable ->U : U >initialValue : U ->U : U ->Promise : Promise ->U : U static reduce(dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; >reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; } ->R : R ->U : U >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable >Promise : any ->Thenable : Promise.Thenable ->R : R >reducer : (total: U, current: R, index: number, arrayLength: number) => U >total : U ->U : U >current : R ->R : R >index : number >arrayLength : number ->U : U >initialValue : U ->U : U ->Promise : Promise ->U : U static reduce(dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; >reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; } ->R : R ->U : U >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable[] >Promise : any ->Thenable : Promise.Thenable ->R : R >reducer : (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable >total : U ->U : U >current : R ->R : R >index : number >arrayLength : number >Promise : any ->Thenable : Promise.Thenable ->U : U >initialValue : U ->U : U ->Promise : Promise ->U : U static reduce(dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; >reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; } ->R : R ->U : U >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable[] >Promise : any ->Thenable : Promise.Thenable ->R : R >reducer : (total: U, current: R, index: number, arrayLength: number) => U >total : U ->U : U >current : R ->R : R >index : number >arrayLength : number ->U : U >initialValue : U ->U : U ->Promise : Promise ->U : U static reduce(dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; >reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; } ->R : R ->U : U >dit : typeof Promise >Promise : typeof Promise >values : R[] ->R : R >reducer : (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable >total : U ->U : U >current : R ->R : R >index : number >arrayLength : number >Promise : any ->Thenable : Promise.Thenable ->U : U >initialValue : U ->U : U ->Promise : Promise ->U : U static reduce(dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; >reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; } ->R : R ->U : U >dit : typeof Promise >Promise : typeof Promise >values : R[] ->R : R >reducer : (total: U, current: R, index: number, arrayLength: number) => U >total : U ->U : U >current : R ->R : R >index : number >arrayLength : number ->U : U >initialValue : U ->U : U ->Promise : Promise ->U : U static filter(dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; >filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; } ->R : R >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable[]> >Promise : any ->Thenable : Promise.Thenable >Promise : any ->Thenable : Promise.Thenable ->R : R >filterer : (item: R, index: number, arrayLength: number) => Promise.Thenable >item : R ->R : R >index : number >arrayLength : number >Promise : any ->Thenable : Promise.Thenable ->Promise : Promise ->R : R static filter(dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; >filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; } ->R : R >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable[]> >Promise : any ->Thenable : Promise.Thenable >Promise : any ->Thenable : Promise.Thenable ->R : R >filterer : (item: R, index: number, arrayLength: number) => boolean >item : R ->R : R >index : number >arrayLength : number ->Promise : Promise ->R : R static filter(dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; >filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; } ->R : R >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable >Promise : any ->Thenable : Promise.Thenable ->R : R >filterer : (item: R, index: number, arrayLength: number) => Promise.Thenable >item : R ->R : R >index : number >arrayLength : number >Promise : any ->Thenable : Promise.Thenable ->Promise : Promise ->R : R static filter(dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; >filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; } ->R : R >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable >Promise : any ->Thenable : Promise.Thenable ->R : R >filterer : (item: R, index: number, arrayLength: number) => boolean >item : R ->R : R >index : number >arrayLength : number ->Promise : Promise ->R : R static filter(dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; >filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; } ->R : R >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable[] >Promise : any ->Thenable : Promise.Thenable ->R : R >filterer : (item: R, index: number, arrayLength: number) => Promise.Thenable >item : R ->R : R >index : number >arrayLength : number >Promise : any ->Thenable : Promise.Thenable ->Promise : Promise ->R : R static filter(dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; >filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; } ->R : R >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable[] >Promise : any ->Thenable : Promise.Thenable ->R : R >filterer : (item: R, index: number, arrayLength: number) => boolean >item : R ->R : R >index : number >arrayLength : number ->Promise : Promise ->R : R static filter(dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; >filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; } ->R : R >dit : typeof Promise >Promise : typeof Promise >values : R[] ->R : R >filterer : (item: R, index: number, arrayLength: number) => Promise.Thenable >item : R ->R : R >index : number >arrayLength : number >Promise : any ->Thenable : Promise.Thenable ->Promise : Promise ->R : R static filter(dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; >filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; } ->R : R >dit : typeof Promise >Promise : typeof Promise >values : R[] ->R : R >filterer : (item: R, index: number, arrayLength: number) => boolean >item : R ->R : R >index : number >arrayLength : number ->Promise : Promise ->R : R } export declare module Promise { ->Promise : typeof Promise - export interface Thenable { ->Thenable : Thenable ->R : R - then(onFulfilled: (value: R) => Thenable, onRejected: (error: any) => Thenable): Thenable; >then : { (onFulfilled: (value: R) => Thenable, onRejected: (error: any) => Thenable): Thenable; (onFulfilled: (value: R) => Thenable, onRejected?: (error: any) => U): Thenable; (onFulfilled: (value: R) => U, onRejected: (error: any) => Thenable): Thenable; (onFulfilled?: (value: R) => U, onRejected?: (error: any) => U): Thenable; } ->U : U >onFulfilled : (value: R) => Thenable >value : R ->R : R ->Thenable : Thenable ->U : U >onRejected : (error: any) => Thenable >error : any ->Thenable : Thenable ->U : U ->Thenable : Thenable ->U : U then(onFulfilled: (value: R) => Thenable, onRejected?: (error: any) => U): Thenable; >then : { (onFulfilled: (value: R) => Thenable, onRejected: (error: any) => Thenable): Thenable; (onFulfilled: (value: R) => Thenable, onRejected?: (error: any) => U): Thenable; (onFulfilled: (value: R) => U, onRejected: (error: any) => Thenable): Thenable; (onFulfilled?: (value: R) => U, onRejected?: (error: any) => U): Thenable; } ->U : U >onFulfilled : (value: R) => Thenable >value : R ->R : R ->Thenable : Thenable ->U : U >onRejected : (error: any) => U >error : any ->U : U ->Thenable : Thenable ->U : U then(onFulfilled: (value: R) => U, onRejected: (error: any) => Thenable): Thenable; >then : { (onFulfilled: (value: R) => Thenable, onRejected: (error: any) => Thenable): Thenable; (onFulfilled: (value: R) => Thenable, onRejected?: (error: any) => U): Thenable; (onFulfilled: (value: R) => U, onRejected: (error: any) => Thenable): Thenable; (onFulfilled?: (value: R) => U, onRejected?: (error: any) => U): Thenable; } ->U : U >onFulfilled : (value: R) => U >value : R ->R : R ->U : U >onRejected : (error: any) => Thenable >error : any ->Thenable : Thenable ->U : U ->Thenable : Thenable ->U : U then(onFulfilled?: (value: R) => U, onRejected?: (error: any) => U): Thenable; >then : { (onFulfilled: (value: R) => Thenable, onRejected: (error: any) => Thenable): Thenable; (onFulfilled: (value: R) => Thenable, onRejected?: (error: any) => U): Thenable; (onFulfilled: (value: R) => U, onRejected: (error: any) => Thenable): Thenable; (onFulfilled?: (value: R) => U, onRejected?: (error: any) => U): Thenable; } ->U : U >onFulfilled : (value: R) => U >value : R ->R : R ->U : U >onRejected : (error: any) => U >error : any ->U : U ->Thenable : Thenable ->U : U } } interface Foo { ->Foo : Foo - a: number; >a : number @@ -1128,12 +694,9 @@ var arr: any[]; var foo: Foo; >foo : Foo ->Foo : Foo var fooProm: Promise; >fooProm : Promise ->Promise : Promise ->Foo : Foo fooProm = Promise.try(Promise, () => { >fooProm = Promise.try(Promise, () => { return foo;}) : Promise diff --git a/tests/baselines/reference/boolInsteadOfBoolean.types b/tests/baselines/reference/boolInsteadOfBoolean.types index b22e09393c0..81d66b1b472 100644 --- a/tests/baselines/reference/boolInsteadOfBoolean.types +++ b/tests/baselines/reference/boolInsteadOfBoolean.types @@ -1,7 +1,6 @@ === tests/cases/conformance/types/primitives/boolean/boolInsteadOfBoolean.ts === var x: bool; >x : any ->bool : No type information available! var a: boolean = x; >a : boolean diff --git a/tests/baselines/reference/booleanLiteralTypes1.types b/tests/baselines/reference/booleanLiteralTypes1.types index 3ea7000e3be..8cd0a4331a7 100644 --- a/tests/baselines/reference/booleanLiteralTypes1.types +++ b/tests/baselines/reference/booleanLiteralTypes1.types @@ -14,11 +14,9 @@ function f1() { var a: A1; >a : boolean ->A1 : boolean var a: A2; >a : boolean ->A2 : boolean var a: true | false; >a : boolean @@ -261,7 +259,6 @@ type Item = function f20(x: Item) { >f20 : (x: Item) => string >x : Item ->Item : Item switch (x.kind) { >x.kind : boolean @@ -285,7 +282,6 @@ function f20(x: Item) { function f21(x: Item) { >f21 : (x: Item) => string >x : Item ->Item : Item switch (x.kind) { >x.kind : boolean diff --git a/tests/baselines/reference/booleanLiteralTypes2.types b/tests/baselines/reference/booleanLiteralTypes2.types index 8c0116407cc..52e4d85e0bd 100644 --- a/tests/baselines/reference/booleanLiteralTypes2.types +++ b/tests/baselines/reference/booleanLiteralTypes2.types @@ -14,11 +14,9 @@ function f1() { var a: A1; >a : boolean ->A1 : boolean var a: A2; >a : boolean ->A2 : boolean var a: true | false; >a : boolean @@ -261,7 +259,6 @@ type Item = function f20(x: Item) { >f20 : (x: Item) => string >x : Item ->Item : Item switch (x.kind) { >x.kind : boolean @@ -285,7 +282,6 @@ function f20(x: Item) { function f21(x: Item) { >f21 : (x: Item) => string >x : Item ->Item : Item switch (x.kind) { >x.kind : boolean diff --git a/tests/baselines/reference/booleanLiteralsContextuallyTypedFromUnion.types b/tests/baselines/reference/booleanLiteralsContextuallyTypedFromUnion.types index 4741619c85b..d30986c3859 100644 --- a/tests/baselines/reference/booleanLiteralsContextuallyTypedFromUnion.types +++ b/tests/baselines/reference/booleanLiteralsContextuallyTypedFromUnion.types @@ -1,20 +1,16 @@ === tests/cases/compiler/booleanLiteralsContextuallyTypedFromUnion.tsx === interface A { isIt: true; text: string; } ->A : A >isIt : true >true : true >text : string interface B { isIt: false; value: number; } ->B : B >isIt : false >false : false >value : number type C = A | B; >C : C ->A : A ->B : B const isIt = Math.random() > 0.5; >isIt : boolean @@ -27,7 +23,6 @@ const isIt = Math.random() > 0.5; const c: C = isIt ? { isIt, text: 'hey' } : { isIt, value: 123 }; >c : C ->C : C >isIt ? { isIt, text: 'hey' } : { isIt, value: 123 } : { isIt: true; text: string; } | { isIt: false; value: number; } >isIt : boolean >{ isIt, text: 'hey' } : { isIt: true; text: string; } @@ -41,7 +36,6 @@ const c: C = isIt ? { isIt, text: 'hey' } : { isIt, value: 123 }; const cc: C = isIt ? { isIt: isIt, text: 'hey' } : { isIt: isIt, value: 123 }; >cc : C ->C : C >isIt ? { isIt: isIt, text: 'hey' } : { isIt: isIt, value: 123 } : { isIt: true; text: string; } | { isIt: false; value: number; } >isIt : boolean >{ isIt: isIt, text: 'hey' } : { isIt: true; text: string; } @@ -77,7 +71,6 @@ let Funk = (_props: ComponentProps) =>
Hello
; >Funk : (_props: ComponentProps) => JSX.Element >(_props: ComponentProps) =>
Hello
: (_props: ComponentProps) => JSX.Element >_props : ComponentProps ->ComponentProps : ComponentProps >
Hello
: JSX.Element >div : any >div : any diff --git a/tests/baselines/reference/callExpressionWithMissingTypeArgument1.types b/tests/baselines/reference/callExpressionWithMissingTypeArgument1.types index bd07bb31cac..2cce81d4454 100644 --- a/tests/baselines/reference/callExpressionWithMissingTypeArgument1.types +++ b/tests/baselines/reference/callExpressionWithMissingTypeArgument1.types @@ -2,7 +2,4 @@ Foo(); >Foo() : any >Foo : any ->a : No type information available! -> : No type information available! ->b : No type information available! diff --git a/tests/baselines/reference/callExpressionWithTypeParameterConstrainedToOuterTypeParameter.types b/tests/baselines/reference/callExpressionWithTypeParameterConstrainedToOuterTypeParameter.types index 76b8a513702..14eb3a52ed5 100644 --- a/tests/baselines/reference/callExpressionWithTypeParameterConstrainedToOuterTypeParameter.types +++ b/tests/baselines/reference/callExpressionWithTypeParameterConstrainedToOuterTypeParameter.types @@ -1,18 +1,10 @@ === tests/cases/compiler/callExpressionWithTypeParameterConstrainedToOuterTypeParameter.ts === interface I { ->I : I ->T : T - (u: U): U; ->U : U ->T : T >u : U ->U : U ->U : U } var i: I; >i : I ->I : I var y = i(""); // y should be string >y : "" diff --git a/tests/baselines/reference/callGenericFunctionWithIncorrectNumberOfTypeArguments.types b/tests/baselines/reference/callGenericFunctionWithIncorrectNumberOfTypeArguments.types index da8a4a339b5..992b8f30ba3 100644 --- a/tests/baselines/reference/callGenericFunctionWithIncorrectNumberOfTypeArguments.types +++ b/tests/baselines/reference/callGenericFunctionWithIncorrectNumberOfTypeArguments.types @@ -4,13 +4,8 @@ function f(x: T, y: U): T { return null; } >f : (x: T, y: U) => T ->T : T ->U : U >x : T ->T : T >y : U ->U : U ->T : T >null : null var r1 = f(1, ''); @@ -30,13 +25,8 @@ var r1b = f(1, ''); var f2 = (x: T, y: U): T => { return null; } >f2 : (x: T, y: U) => T >(x: T, y: U): T => { return null; } : (x: T, y: U) => T ->T : T ->U : U >x : T ->T : T >y : U ->U : U ->T : T >null : null var r2 = f2(1, ''); @@ -55,13 +45,8 @@ var r2b = f2(1, ''); var f3: { (x: T, y: U): T; } >f3 : (x: T, y: U) => T ->T : T ->U : U >x : T ->T : T >y : U ->U : U ->T : T var r3 = f3(1, ''); >r3 : any @@ -82,13 +67,8 @@ class C { f(x: T, y: U): T { >f : (x: T, y: U) => T ->T : T ->U : U >x : T ->T : T >y : U ->U : U ->T : T return null; >null : null @@ -117,21 +97,13 @@ var r4b = (new C()).f(1, ''); >'' : "" interface I { ->I : I - f(x: T, y: U): T; >f : (x: T, y: U) => T ->T : T ->U : U >x : T ->T : T >y : U ->U : U ->T : T } var i: I; >i : I ->I : I var r5 = i.f(1, ''); >r5 : any @@ -153,16 +125,11 @@ var r5b = i.f(1, ''); class C2 { >C2 : C2 ->T : T ->U : U f(x: T, y: U): T { >f : (x: T, y: U) => T >x : T ->T : T >y : U ->U : U ->T : T return null; >null : null @@ -191,21 +158,13 @@ var r6b = (new C2()).f(1, ''); >'' : "" interface I2 { ->I2 : I2 ->T : T ->U : U - f(x: T, y: U): T; >f : (x: T, y: U) => T >x : T ->T : T >y : U ->U : U ->T : T } var i2: I2; >i2 : I2 ->I2 : I2 var r7 = i2.f(1, ''); >r7 : number diff --git a/tests/baselines/reference/callGenericFunctionWithZeroTypeArguments.types b/tests/baselines/reference/callGenericFunctionWithZeroTypeArguments.types index 99fc2d955d1..63798c4225d 100644 --- a/tests/baselines/reference/callGenericFunctionWithZeroTypeArguments.types +++ b/tests/baselines/reference/callGenericFunctionWithZeroTypeArguments.types @@ -3,10 +3,7 @@ function f(x: T): T { return null; } >f : (x: T) => T ->T : T >x : T ->T : T ->T : T >null : null var r = f(1); @@ -18,10 +15,7 @@ var r = f(1); var f2 = (x: T): T => { return null; } >f2 : (x: T) => T >(x: T): T => { return null; } : (x: T) => T ->T : T >x : T ->T : T ->T : T >null : null var r2 = f2(1); @@ -32,10 +26,7 @@ var r2 = f2(1); var f3: { (x: T): T; } >f3 : (x: T) => T ->T : T >x : T ->T : T ->T : T var r3 = f3(1); >r3 : number @@ -48,10 +39,7 @@ class C { f(x: T): T { >f : (x: T) => T ->T : T >x : T ->T : T ->T : T return null; >null : null @@ -68,18 +56,12 @@ var r4 = (new C()).f(1); >1 : 1 interface I { ->I : I - f(x: T): T; >f : (x: T) => T ->T : T >x : T ->T : T ->T : T } var i: I; >i : I ->I : I var r5 = i.f(1); >r5 : number @@ -91,13 +73,10 @@ var r5 = i.f(1); class C2 { >C2 : C2 ->T : T f(x: T): T { >f : (x: T) => T >x : T ->T : T ->T : T return null; >null : null @@ -114,18 +93,12 @@ var r6 = (new C2()).f(1); >1 : 1 interface I2 { ->I2 : I2 ->T : T - f(x: T): T; >f : (x: T) => T >x : T ->T : T ->T : T } var i2: I2; >i2 : I2 ->I2 : I2 var r7 = i2.f(1); >r7 : number diff --git a/tests/baselines/reference/callNonGenericFunctionWithTypeArguments.types b/tests/baselines/reference/callNonGenericFunctionWithTypeArguments.types index b7155b564ef..c22f31e1254 100644 --- a/tests/baselines/reference/callNonGenericFunctionWithTypeArguments.types +++ b/tests/baselines/reference/callNonGenericFunctionWithTypeArguments.types @@ -57,15 +57,12 @@ var r4 = (new C()).f(1); >1 : 1 interface I { ->I : I - f(x: number): any; >f : (x: number) => any >x : number } var i: I; >i : I ->I : I var r5 = i.f(1); >r5 : any @@ -97,15 +94,12 @@ var r6 = (new C2()).f(1); >1 : 1 interface I2 { ->I2 : I2 - f(x: number); >f : (x: number) => any >x : number } var i2: I2; >i2 : I2 ->I2 : I2 var r7 = i2.f(1); >r7 : any diff --git a/tests/baselines/reference/callOverloads2.types b/tests/baselines/reference/callOverloads2.types index 1d1b4b3370b..6718d22a191 100644 --- a/tests/baselines/reference/callOverloads2.types +++ b/tests/baselines/reference/callOverloads2.types @@ -32,7 +32,6 @@ function Goo(s:string); // error - no implementation declare function Gar(s:String); // expect no error >Gar : (s: String) => any >s : String ->String : String var f1 = new Foo("hey"); >f1 : any diff --git a/tests/baselines/reference/callOverloads3.types b/tests/baselines/reference/callOverloads3.types index f8717534cae..eeef5edc339 100644 --- a/tests/baselines/reference/callOverloads3.types +++ b/tests/baselines/reference/callOverloads3.types @@ -1,12 +1,10 @@ === tests/cases/compiler/callOverloads3.ts === function Foo():Foo; // error >Foo : { (): any; (s: string): any; } ->Foo : No type information available! function Foo(s:string):Foo; // error >Foo : { (): any; (s: string): any; } >s : string ->Foo : No type information available! class Foo { // error >Foo : Foo diff --git a/tests/baselines/reference/callOverloads4.types b/tests/baselines/reference/callOverloads4.types index 60d8ced5d1d..45a84ed10c6 100644 --- a/tests/baselines/reference/callOverloads4.types +++ b/tests/baselines/reference/callOverloads4.types @@ -1,12 +1,10 @@ === tests/cases/compiler/callOverloads4.ts === function Foo():Foo; // error >Foo : { (): any; (s: string): any; } ->Foo : No type information available! function Foo(s:string):Foo; // error >Foo : { (): any; (s: string): any; } >s : string ->Foo : No type information available! class Foo { // error >Foo : Foo diff --git a/tests/baselines/reference/callOverloads5.types b/tests/baselines/reference/callOverloads5.types index 1125fbe0ee1..45e5d77d5aa 100644 --- a/tests/baselines/reference/callOverloads5.types +++ b/tests/baselines/reference/callOverloads5.types @@ -1,12 +1,10 @@ === tests/cases/compiler/callOverloads5.ts === function Foo():Foo; // error >Foo : { (): any; (s: string): any; } ->Foo : No type information available! function Foo(s:string):Foo; // error >Foo : { (): any; (s: string): any; } >s : string ->Foo : No type information available! class Foo { // error >Foo : Foo diff --git a/tests/baselines/reference/callSignatureAssignabilityInInheritance.types b/tests/baselines/reference/callSignatureAssignabilityInInheritance.types index 2463d04b91d..a48c2616d04 100644 --- a/tests/baselines/reference/callSignatureAssignabilityInInheritance.types +++ b/tests/baselines/reference/callSignatureAssignabilityInInheritance.types @@ -1,10 +1,6 @@ === tests/cases/conformance/types/typeRelationships/assignmentCompatibility/callSignatureAssignabilityInInheritance.ts === module CallSignature { ->CallSignature : any - interface Base { // T ->Base : Base - // M's (x: number): void; >x : number @@ -16,9 +12,6 @@ module CallSignature { // S's interface I extends Base { ->I : I ->Base : Base - // N's (x: number): number; // ok because base returns void >x : number @@ -28,14 +21,10 @@ module CallSignature { >y : number (x: T): string; // ok because base returns void ->T : T >x : T ->T : T } interface Base2 { // T ->Base2 : Base2 - // M's (x: number): number; >x : number @@ -43,9 +32,6 @@ module CallSignature { // S's interface I2 extends Base2 { ->I2 : I2 ->Base2 : Base2 - // N's (x: number): string; // error because base returns non-void; >x : number @@ -53,23 +39,14 @@ module CallSignature { // S's interface I3 extends Base2 { ->I3 : I3 ->Base2 : Base2 - // N's (x: T): string; // ok, adds a new call signature ->T : T >x : T ->T : T } } module MemberWithCallSignature { ->MemberWithCallSignature : any - interface Base { // T ->Base : Base - // M's a: (x: number) => void; >a : (x: number) => void @@ -82,16 +59,11 @@ module MemberWithCallSignature { a3: (x: T) => void; >a3 : (x: T) => void ->T : T >x : T ->T : T } // S's interface I extends Base { ->I : I ->Base : Base - // N's a: (x: number) => number; // ok because base returns void >a : (x: number) => number @@ -104,14 +76,10 @@ module MemberWithCallSignature { a3: (x: T) => string; // ok because base returns void >a3 : (x: T) => string ->T : T >x : T ->T : T } interface Base2 { // T ->Base2 : Base2 - // M's a: (x: number) => number; >a : (x: number) => number @@ -119,17 +87,11 @@ module MemberWithCallSignature { a2: (x: T) => T; >a2 : (x: T) => T ->T : T >x : T ->T : T ->T : T } // S's interface I2 extends Base2 { ->I2 : I2 ->Base2 : Base2 - // N's a: (x: number) => string; // error because base returns non-void; >a : (x: number) => string @@ -138,14 +100,9 @@ module MemberWithCallSignature { // S's interface I3 extends Base2 { ->I3 : I3 ->Base2 : Base2 - // N's a2: (x: T) => string; // error because base returns non-void; >a2 : (x: T) => string ->T : T >x : T ->T : T } } diff --git a/tests/baselines/reference/callSignatureAssignabilityInInheritance2.types b/tests/baselines/reference/callSignatureAssignabilityInInheritance2.types index 335413cd73e..ab6daaf8b5b 100644 --- a/tests/baselines/reference/callSignatureAssignabilityInInheritance2.types +++ b/tests/baselines/reference/callSignatureAssignabilityInInheritance2.types @@ -21,8 +21,6 @@ class OtherDerived extends Base { bing: string; } >bing : string interface A { // T ->A : A - // M's a: (x: number) => number[]; >a : (x: number) => number[] @@ -50,53 +48,32 @@ interface A { // T >a6 : (x: (arg: Base) => Derived) => Base >x : (arg: Base) => Derived >arg : Base ->Base : Base ->Derived : Derived ->Base : Base a7: (x: (arg: Base) => Derived) => (r: Base) => Derived; >a7 : (x: (arg: Base) => Derived) => (r: Base) => Derived >x : (arg: Base) => Derived >arg : Base ->Base : Base ->Derived : Derived >r : Base ->Base : Base ->Derived : Derived a8: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; >a8 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived >x : (arg: Base) => Derived >arg : Base ->Base : Base ->Derived : Derived >y : (arg2: Base) => Derived >arg2 : Base ->Base : Base ->Derived : Derived >r : Base ->Base : Base ->Derived : Derived a9: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; >a9 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived >x : (arg: Base) => Derived >arg : Base ->Base : Base ->Derived : Derived >y : (arg2: Base) => Derived >arg2 : Base ->Base : Base ->Derived : Derived >r : Base ->Base : Base ->Derived : Derived a10: (...x: Derived[]) => Derived; >a10 : (...x: Derived[]) => Derived >x : Derived[] ->Derived : Derived ->Derived : Derived a11: (x: { foo: string }, y: { foo: string; bar: string }) => Base; >a11 : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base @@ -105,36 +82,22 @@ interface A { // T >y : { foo: string; bar: string; } >foo : string >bar : string ->Base : Base a12: (x: Array, y: Array) => Array; >a12 : (x: Base[], y: Derived2[]) => Derived[] >x : Base[] ->Array : T[] ->Base : Base >y : Derived2[] ->Array : T[] ->Derived2 : Derived2 ->Array : T[] ->Derived : Derived a13: (x: Array, y: Array) => Array; >a13 : (x: Base[], y: Derived[]) => Derived[] >x : Base[] ->Array : T[] ->Base : Base >y : Derived[] ->Array : T[] ->Derived : Derived ->Array : T[] ->Derived : Derived a14: (x: { a: string; b: number }) => Object; >a14 : (x: { a: string; b: number; }) => Object >x : { a: string; b: number; } >a : string >b : number ->Object : Object a15: { >a15 : { (x: number): number[]; (x: string): string[]; } @@ -150,16 +113,10 @@ interface A { // T >a16 : { (x: T): number[]; (x: U): number[]; } (x: T): number[]; ->T : T ->Derived : Derived >x : T ->T : T (x: U): number[]; ->U : U ->Base : Base >x : U ->U : U }; a17: { @@ -195,8 +152,6 @@ interface A { // T (a: Date): Date; >a : Date ->Date : Date ->Date : Date }): any[]; }; @@ -204,195 +159,98 @@ interface A { // T // S's interface I extends A { ->I : I ->A : A - // N's a: (x: T) => T[]; // ok, instantiation of N is a subtype of M, T is number >a : (x: T) => T[] ->T : T >x : T ->T : T ->T : T a2: (x: T) => string[]; // ok >a2 : (x: T) => string[] ->T : T >x : T ->T : T a3: (x: T) => T; // ok since Base returns void >a3 : (x: T) => T ->T : T >x : T ->T : T ->T : T a4: (x: T, y: U) => T; // ok, instantiation of N is a subtype of M, T is string, U is number >a4 : (x: T, y: U) => T ->T : T ->U : U >x : T ->T : T >y : U ->U : U ->T : T a5: (x: (arg: T) => U) => T; // ok, U is in a parameter position so inferences can be made >a5 : (x: (arg: T) => U) => T ->T : T ->U : U >x : (arg: T) => U >arg : T ->T : T ->U : U ->T : T a6: (x: (arg: T) => U) => T; // ok, same as a5 but with object type hierarchy >a6 : (x: (arg: T) => U) => T ->T : T ->Base : Base ->U : U ->Derived : Derived >x : (arg: T) => U >arg : T ->T : T ->U : U ->T : T a7: (x: (arg: T) => U) => (r: T) => U; // ok >a7 : (x: (arg: T) => U) => (r: T) => U ->T : T ->Base : Base ->U : U ->Derived : Derived >x : (arg: T) => U >arg : T ->T : T ->U : U >r : T ->T : T ->U : U a8: (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U; // ok >a8 : (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U ->T : T ->Base : Base ->U : U ->Derived : Derived >x : (arg: T) => U >arg : T ->T : T ->U : U >y : (arg2: T) => U >arg2 : T ->T : T ->U : U >r : T ->T : T ->U : U a9: (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => U; // ok, same as a8 with compatible object literal >a9 : (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U ->T : T ->Base : Base ->U : U ->Derived : Derived >x : (arg: T) => U >arg : T ->T : T ->U : U >y : (arg2: { foo: string; bing: number; }) => U >arg2 : { foo: string; bing: number; } >foo : string >bing : number ->U : U >r : T ->T : T ->U : U a10: (...x: T[]) => T; // ok >a10 : (...x: T[]) => T ->T : T ->Derived : Derived >x : T[] ->T : T ->T : T a11: (x: T, y: T) => T; // ok >a11 : (x: T, y: T) => T ->T : T ->Base : Base >x : T ->T : T >y : T ->T : T ->T : T a12: >(x: Array, y: T) => Array; // ok, less specific parameter type >a12 : (x: Base[], y: T) => Derived[] ->T : T ->Array : T[] ->Base : Base >x : Base[] ->Array : T[] ->Base : Base >y : T ->T : T ->Array : T[] ->Derived : Derived a13: >(x: Array, y: T) => T; // ok, T = Array, satisfies constraint, contextual signature instantiation succeeds >a13 : (x: Base[], y: T) => T ->T : T ->Array : T[] ->Derived : Derived >x : Base[] ->Array : T[] ->Base : Base >y : T ->T : T ->T : T a14: (x: { a: T; b: T }) => T; // ok, best common type yields T = {} but that's satisfactory for this signature >a14 : (x: { a: T; b: T; }) => T ->T : T >x : { a: T; b: T; } >a : T ->T : T >b : T ->T : T ->T : T a15: (x: T) => T[]; // ok >a15 : (x: T) => T[] ->T : T >x : T ->T : T ->T : T a16: (x: T) => number[]; // ok >a16 : (x: T) => number[] ->T : T ->Base : Base >x : T ->T : T a17: (x: (a: T) => T) => T[]; // ok >a17 : (x: (a: T) => T) => T[] ->T : T >x : (a: T) => T >a : T ->T : T ->T : T ->T : T a18: (x: (a: T) => T) => T[]; // ok, no inferences for T but assignable to any >a18 : (x: (a: T) => T) => T[] ->T : T >x : (a: T) => T >a : T ->T : T ->T : T ->T : T } diff --git a/tests/baselines/reference/callSignatureAssignabilityInInheritance3.types b/tests/baselines/reference/callSignatureAssignabilityInInheritance3.types index 6eb3ddaadea..70229e8867a 100644 --- a/tests/baselines/reference/callSignatureAssignabilityInInheritance3.types +++ b/tests/baselines/reference/callSignatureAssignabilityInInheritance3.types @@ -25,12 +25,8 @@ module Errors { >bing : string module WithNonGenericSignaturesInBaseType { ->WithNonGenericSignaturesInBaseType : any - // base type with non-generic call signatures interface A { ->A : A - a2: (x: number) => string[]; >a2 : (x: number) => string[] >x : number @@ -39,31 +35,19 @@ module Errors { >a7 : (x: (arg: Base) => Derived) => (r: Base) => Derived2 >x : (arg: Base) => Derived >arg : Base ->Base : Base ->Derived : Derived >r : Base ->Base : Base ->Derived2 : Derived2 a8: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; >a8 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived >x : (arg: Base) => Derived >arg : Base ->Base : Base ->Derived : Derived >y : (arg2: Base) => Derived >arg2 : Base ->Base : Base ->Derived : Derived >r : Base ->Base : Base ->Derived : Derived a10: (...x: Base[]) => Base; >a10 : (...x: Base[]) => Base >x : Base[] ->Base : Base ->Base : Base a11: (x: { foo: string }, y: { foo: string; bar: string }) => Base; >a11 : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base @@ -72,18 +56,11 @@ module Errors { >y : { foo: string; bar: string; } >foo : string >bar : string ->Base : Base a12: (x: Array, y: Array) => Array; >a12 : (x: Base[], y: Derived2[]) => Derived[] >x : Base[] ->Array : T[] ->Base : Base >y : Derived2[] ->Array : T[] ->Derived2 : Derived2 ->Array : T[] ->Derived : Derived a14: { >a14 : { (x: number): number[]; (x: string): string[]; } @@ -133,264 +110,134 @@ module Errors { >x : { (a: T): T; (a: T): T; } (a: T): T; ->T : T ->Derived : Derived >a : T ->T : T ->T : T (a: T): T; ->T : T ->Base : Base >a : T ->T : T ->T : T }): any[]; (x: { >x : { (a: T): T; (a: T): T; } (a: T): T; ->T : T ->Derived2 : Derived2 >a : T ->T : T ->T : T (a: T): T; ->T : T ->Base : Base >a : T ->T : T ->T : T }): any[]; }; } interface I extends A { ->I : I ->A : A - a2: (x: T) => U[]; // error, contextual signature instantiation doesn't relate return types so U is {}, not a subtype of string[] >a2 : (x: T) => U[] ->T : T ->U : U >x : T ->T : T ->U : U } interface I2 extends A { ->I2 : I2 ->T : T ->U : U ->A : A - a2: (x: T) => U[]; // error, no contextual signature instantiation since I2.a2 is not generic >a2 : (x: T) => U[] >x : T ->T : T ->U : U } interface I3 extends A { ->I3 : I3 ->A : A - // valid, no inferences for V so it defaults to Derived2 a7: (x: (arg: T) => U) => (r: T) => V; >a7 : (x: (arg: T) => U) => (r: T) => V ->T : T ->Base : Base ->U : U ->Derived : Derived ->V : V ->Derived2 : Derived2 >x : (arg: T) => U >arg : T ->T : T ->U : U >r : T ->T : T ->V : V } interface I4 extends A { ->I4 : I4 ->A : A - a8: (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U; // error, type mismatch >a8 : (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U ->T : T ->Base : Base ->U : U ->Derived : Derived >x : (arg: T) => U >arg : T ->T : T ->U : U >y : (arg2: { foo: number; }) => U >arg2 : { foo: number; } >foo : number ->U : U >r : T ->T : T ->U : U } interface I4B extends A { ->I4B : I4B ->A : A - a10: (...x: T[]) => T; // valid, parameter covariance works even after contextual signature instantiation >a10 : (...x: T[]) => T ->T : T ->Derived : Derived >x : T[] ->T : T ->T : T } interface I4C extends A { ->I4C : I4C ->A : A - a11: (x: T, y: T) => T; // valid, even though x is a Base, parameter covariance works even after contextual signature instantiation >a11 : (x: T, y: T) => T ->T : T ->Derived : Derived >x : T ->T : T >y : T ->T : T ->T : T } interface I4E extends A { ->I4E : I4E ->A : A - a12: >(x: Array, y: Array) => T; // valid, no inferences for T, defaults to Array >a12 : (x: Base[], y: Base[]) => T ->T : T ->Array : T[] ->Derived2 : Derived2 >x : Base[] ->Array : T[] ->Base : Base >y : Base[] ->Array : T[] ->Base : Base ->T : T } interface I6 extends A { ->I6 : I6 ->A : A - a15: (x: { a: T; b: T }) => T; // error, T is {} which isn't an acceptable return type >a15 : (x: { a: T; b: T; }) => T ->T : T >x : { a: T; b: T; } >a : T ->T : T >b : T ->T : T ->T : T } interface I7 extends A { ->I7 : I7 ->A : A - a15: (x: { a: T; b: T }) => number; // error, T defaults to Base, which is not compatible with number or string >a15 : (x: { a: T; b: T; }) => number ->T : T ->Base : Base >x : { a: T; b: T; } >a : T ->T : T >b : T ->T : T } interface I8 extends A { ->I8 : I8 ->A : A - // ok, we relate each signature of a16 to b16, and within that, we make inferences from two different signatures in the respective A.a16 signature a16: (x: (a: T) => T) => T[]; >a16 : (x: (a: T) => T) => T[] ->T : T >x : (a: T) => T >a : T ->T : T ->T : T ->T : T } interface I9 extends A { ->I9 : I9 ->A : A - a17: (x: (a: T) => T) => any[]; // valid, target is more constrained than source, so it is safe in the traditional constraint-contravariant fashion >a17 : (x: (a: T) => T) => any[] ->T : T >x : (a: T) => T >a : T ->T : T ->T : T } } module WithGenericSignaturesInBaseType { ->WithGenericSignaturesInBaseType : any - // base type has generic call signature interface B { ->B : B - a2: (x: T) => T[]; >a2 : (x: T) => T[] ->T : T >x : T ->T : T ->T : T } interface I6 extends B { ->I6 : I6 ->B : B - a2: (x: T) => string[]; // error >a2 : (x: T) => string[] ->T : T >x : T ->T : T } // base type has generic call signature interface C { ->C : C - a2: (x: T) => string[]; >a2 : (x: T) => string[] ->T : T >x : T ->T : T } interface I7 extends C { ->I7 : I7 ->C : C - a2: (x: T) => T[]; // error >a2 : (x: T) => T[] ->T : T >x : T ->T : T ->T : T } } } diff --git a/tests/baselines/reference/callSignatureAssignabilityInInheritance4.types b/tests/baselines/reference/callSignatureAssignabilityInInheritance4.types index 0575d1332ce..1638c45d3b6 100644 --- a/tests/baselines/reference/callSignatureAssignabilityInInheritance4.types +++ b/tests/baselines/reference/callSignatureAssignabilityInInheritance4.types @@ -21,111 +21,64 @@ class OtherDerived extends Base { bing: string; } >bing : string interface A { // T ->A : A - // M's a: (x: T) => T[]; >a : (x: T) => T[] ->T : T >x : T ->T : T ->T : T a2: (x: T) => string[]; >a2 : (x: T) => string[] ->T : T >x : T ->T : T a3: (x: T) => void; >a3 : (x: T) => void ->T : T >x : T ->T : T a4: (x: T, y: U) => string; >a4 : (x: T, y: U) => string ->T : T ->U : U >x : T ->T : T >y : U ->U : U a5: (x: (arg: T) => U) => T; >a5 : (x: (arg: T) => U) => T ->T : T ->U : U >x : (arg: T) => U >arg : T ->T : T ->U : U ->T : T a6: (x: (arg: T) => Derived) => T; >a6 : (x: (arg: T) => Derived) => T ->T : T ->Base : Base >x : (arg: T) => Derived >arg : T ->T : T ->Derived : Derived ->T : T a11: (x: { foo: T }, y: { foo: T; bar: T }) => Base; >a11 : (x: { foo: T; }, y: { foo: T; bar: T; }) => Base ->T : T >x : { foo: T; } >foo : T ->T : T >y : { foo: T; bar: T; } >foo : T ->T : T >bar : T ->T : T ->Base : Base a15: (x: { a: T; b: T }) => T[]; >a15 : (x: { a: T; b: T; }) => T[] ->T : T >x : { a: T; b: T; } >a : T ->T : T >b : T ->T : T ->T : T a16: (x: { a: T; b: T }) => T[]; >a16 : (x: { a: T; b: T; }) => T[] ->T : T ->Base : Base >x : { a: T; b: T; } >a : T ->T : T >b : T ->T : T ->T : T a17: { >a17 : { (x: (a: T) => T): T[]; (x: (a: T) => T): T[]; } (x: (a: T) => T): T[]; ->T : T ->Derived : Derived >x : (a: T) => T >a : T ->T : T ->T : T ->T : T (x: (a: T) => T): T[]; ->T : T ->Base : Base >x : (a: T) => T >a : T ->T : T ->T : T ->T : T }; a18: { @@ -135,36 +88,20 @@ interface A { // T >x : { (a: T): T; (a: T): T; } (a: T): T; ->T : T ->Derived : Derived >a : T ->T : T ->T : T (a: T): T; ->T : T ->Base : Base >a : T ->T : T ->T : T }): any[]; (x: { >x : { (a: T): T; (a: T): T; } (a: T): T; ->T : T ->Derived2 : Derived2 >a : T ->T : T ->T : T (a: T): T; ->T : T ->Base : Base >a : T ->T : T ->T : T }): any[]; }; @@ -172,110 +109,61 @@ interface A { // T // S's interface I extends A { ->I : I ->A : A - // N's a: (x: T) => T[]; // ok, instantiation of N is a subtype of M, T is number >a : (x: T) => T[] ->T : T >x : T ->T : T ->T : T a2: (x: T) => string[]; // ok >a2 : (x: T) => string[] ->T : T >x : T ->T : T a3: (x: T) => T; // ok since Base returns void >a3 : (x: T) => T ->T : T >x : T ->T : T ->T : T a4: (x: T, y: U) => string; // ok, instantiation of N is a subtype of M, T is string, U is number >a4 : (x: T, y: U) => string ->T : T ->U : U >x : T ->T : T >y : U ->U : U a5: (x: (arg: T) => U) => T; // ok, U is in a parameter position so inferences can be made >a5 : (x: (arg: T) => U) => T ->T : T ->U : U >x : (arg: T) => U >arg : T ->T : T ->U : U ->T : T a6: (x: (arg: T) => U) => T; // ok, same as a5 but with object type hierarchy >a6 : (x: (arg: T) => U) => T ->T : T ->Base : Base ->U : U ->Derived : Derived >x : (arg: T) => U >arg : T ->T : T ->U : U ->T : T a11: (x: { foo: T }, y: { foo: U; bar: U }) => Base; // ok >a11 : (x: { foo: T; }, y: { foo: U; bar: U; }) => Base ->T : T ->U : U >x : { foo: T; } >foo : T ->T : T >y : { foo: U; bar: U; } >foo : U ->U : U >bar : U ->U : U ->Base : Base a15: (x: { a: U; b: V; }) => U[]; // ok, T = U, T = V >a15 : (x: { a: U; b: V; }) => U[] ->U : U ->V : V >x : { a: U; b: V; } >a : U ->U : U >b : V ->V : V ->U : U a16: (x: { a: T; b: T }) => T[]; // ok, more general parameter type >a16 : (x: { a: T; b: T; }) => T[] ->T : T >x : { a: T; b: T; } >a : T ->T : T >b : T ->T : T ->T : T a17: (x: (a: T) => T) => T[]; // ok >a17 : (x: (a: T) => T) => T[] ->T : T >x : (a: T) => T >a : T ->T : T ->T : T ->T : T a18: (x: (a: T) => T) => any[]; // ok >a18 : (x: (a: T) => T) => any[] >x : (a: T) => T ->T : T >a : T ->T : T ->T : T } diff --git a/tests/baselines/reference/callSignatureAssignabilityInInheritance5.types b/tests/baselines/reference/callSignatureAssignabilityInInheritance5.types index 0ffc8257a56..2d133bc6d65 100644 --- a/tests/baselines/reference/callSignatureAssignabilityInInheritance5.types +++ b/tests/baselines/reference/callSignatureAssignabilityInInheritance5.types @@ -22,8 +22,6 @@ class OtherDerived extends Base { bing: string; } >bing : string interface A { // T ->A : A - // M's a: (x: number) => number[]; >a : (x: number) => number[] @@ -51,53 +49,32 @@ interface A { // T >a6 : (x: (arg: Base) => Derived) => Base >x : (arg: Base) => Derived >arg : Base ->Base : Base ->Derived : Derived ->Base : Base a7: (x: (arg: Base) => Derived) => (r: Base) => Derived; >a7 : (x: (arg: Base) => Derived) => (r: Base) => Derived >x : (arg: Base) => Derived >arg : Base ->Base : Base ->Derived : Derived >r : Base ->Base : Base ->Derived : Derived a8: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; >a8 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived >x : (arg: Base) => Derived >arg : Base ->Base : Base ->Derived : Derived >y : (arg2: Base) => Derived >arg2 : Base ->Base : Base ->Derived : Derived >r : Base ->Base : Base ->Derived : Derived a9: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; >a9 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived >x : (arg: Base) => Derived >arg : Base ->Base : Base ->Derived : Derived >y : (arg2: Base) => Derived >arg2 : Base ->Base : Base ->Derived : Derived >r : Base ->Base : Base ->Derived : Derived a10: (...x: Derived[]) => Derived; >a10 : (...x: Derived[]) => Derived >x : Derived[] ->Derived : Derived ->Derived : Derived a11: (x: { foo: string }, y: { foo: string; bar: string }) => Base; >a11 : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base @@ -106,209 +83,106 @@ interface A { // T >y : { foo: string; bar: string; } >foo : string >bar : string ->Base : Base a12: (x: Array, y: Array) => Array; >a12 : (x: Base[], y: Derived2[]) => Derived[] >x : Base[] ->Array : T[] ->Base : Base >y : Derived2[] ->Array : T[] ->Derived2 : Derived2 ->Array : T[] ->Derived : Derived a13: (x: Array, y: Array) => Array; >a13 : (x: Base[], y: Derived[]) => Derived[] >x : Base[] ->Array : T[] ->Base : Base >y : Derived[] ->Array : T[] ->Derived : Derived ->Array : T[] ->Derived : Derived a14: (x: { a: string; b: number }) => Object; >a14 : (x: { a: string; b: number; }) => Object >x : { a: string; b: number; } >a : string >b : number ->Object : Object } interface B extends A { ->B : B ->A : A - a: (x: T) => T[]; >a : (x: T) => T[] ->T : T >x : T ->T : T ->T : T } // S's interface I extends B { ->I : I ->B : B - // N's a: (x: T) => T[]; // ok, instantiation of N is a subtype of M, T is number >a : (x: T) => T[] ->T : T >x : T ->T : T ->T : T a2: (x: T) => string[]; // ok >a2 : (x: T) => string[] ->T : T >x : T ->T : T a3: (x: T) => T; // ok since Base returns void >a3 : (x: T) => T ->T : T >x : T ->T : T ->T : T a4: (x: T, y: U) => T; // ok, instantiation of N is a subtype of M, T is string, U is number >a4 : (x: T, y: U) => T ->T : T ->U : U >x : T ->T : T >y : U ->U : U ->T : T a5: (x: (arg: T) => U) => T; // ok, U is in a parameter position so inferences can be made >a5 : (x: (arg: T) => U) => T ->T : T ->U : U >x : (arg: T) => U >arg : T ->T : T ->U : U ->T : T a6: (x: (arg: T) => U) => T; // ok, same as a5 but with object type hierarchy >a6 : (x: (arg: T) => U) => T ->T : T ->Base : Base ->U : U ->Derived : Derived >x : (arg: T) => U >arg : T ->T : T ->U : U ->T : T a7: (x: (arg: T) => U) => (r: T) => U; // ok >a7 : (x: (arg: T) => U) => (r: T) => U ->T : T ->Base : Base ->U : U ->Derived : Derived >x : (arg: T) => U >arg : T ->T : T ->U : U >r : T ->T : T ->U : U a8: (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U; // ok >a8 : (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U ->T : T ->Base : Base ->U : U ->Derived : Derived >x : (arg: T) => U >arg : T ->T : T ->U : U >y : (arg2: T) => U >arg2 : T ->T : T ->U : U >r : T ->T : T ->U : U a9: (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => U; // ok, same as a8 with compatible object literal >a9 : (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U ->T : T ->Base : Base ->U : U ->Derived : Derived >x : (arg: T) => U >arg : T ->T : T ->U : U >y : (arg2: { foo: string; bing: number; }) => U >arg2 : { foo: string; bing: number; } >foo : string >bing : number ->U : U >r : T ->T : T ->U : U a10: (...x: T[]) => T; // ok >a10 : (...x: T[]) => T ->T : T ->Derived : Derived >x : T[] ->T : T ->T : T a11: (x: T, y: T) => T; // ok >a11 : (x: T, y: T) => T ->T : T ->Base : Base >x : T ->T : T >y : T ->T : T ->T : T a12: >(x: Array, y: T) => Array; // ok, less specific parameter type >a12 : (x: Base[], y: T) => Derived[] ->T : T ->Array : T[] ->Base : Base >x : Base[] ->Array : T[] ->Base : Base >y : T ->T : T ->Array : T[] ->Derived : Derived a13: >(x: Array, y: T) => T; // ok, T = Array, satisfies constraint, contextual signature instantiation succeeds >a13 : (x: Base[], y: T) => T ->T : T ->Array : T[] ->Derived : Derived >x : Base[] ->Array : T[] ->Base : Base >y : T ->T : T ->T : T a14: (x: { a: T; b: T }) => T; // ok, best common type yields T = {} but that's satisfactory for this signature >a14 : (x: { a: T; b: T; }) => T ->T : T >x : { a: T; b: T; } >a : T ->T : T >b : T ->T : T ->T : T } diff --git a/tests/baselines/reference/callSignatureAssignabilityInInheritance6.types b/tests/baselines/reference/callSignatureAssignabilityInInheritance6.types index 721b691be70..8e893aba48a 100644 --- a/tests/baselines/reference/callSignatureAssignabilityInInheritance6.types +++ b/tests/baselines/reference/callSignatureAssignabilityInInheritance6.types @@ -23,187 +23,102 @@ class OtherDerived extends Base { bing: string; } >bing : string interface A { // T ->A : A - // M's a: (x: T) => T[]; >a : (x: T) => T[] ->T : T >x : T ->T : T ->T : T a2: (x: T) => string[]; >a2 : (x: T) => string[] ->T : T >x : T ->T : T a3: (x: T) => void; >a3 : (x: T) => void ->T : T >x : T ->T : T a4: (x: T, y: U) => string; >a4 : (x: T, y: U) => string ->T : T ->U : U >x : T ->T : T >y : U ->U : U a5: (x: (arg: T) => U) => T; >a5 : (x: (arg: T) => U) => T ->T : T ->U : U >x : (arg: T) => U >arg : T ->T : T ->U : U ->T : T a6: (x: (arg: T) => Derived) => T; >a6 : (x: (arg: T) => Derived) => T ->T : T ->Base : Base >x : (arg: T) => Derived >arg : T ->T : T ->Derived : Derived ->T : T a11: (x: { foo: T }, y: { foo: T; bar: T }) => Base; >a11 : (x: { foo: T; }, y: { foo: T; bar: T; }) => Base ->T : T >x : { foo: T; } >foo : T ->T : T >y : { foo: T; bar: T; } >foo : T ->T : T >bar : T ->T : T ->Base : Base a15: (x: { a: T; b: T }) => T[]; >a15 : (x: { a: T; b: T; }) => T[] ->T : T >x : { a: T; b: T; } >a : T ->T : T >b : T ->T : T ->T : T a16: (x: { a: T; b: T }) => T[]; >a16 : (x: { a: T; b: T; }) => T[] ->T : T ->Base : Base >x : { a: T; b: T; } >a : T ->T : T >b : T ->T : T ->T : T } // S's interface I extends A { ->I : I ->T : T ->A : A - a: (x: T) => T[]; >a : (x: T) => T[] >x : T ->T : T ->T : T } interface I2 extends A { ->I2 : I2 ->T : T ->A : A - a2: (x: T) => string[]; >a2 : (x: T) => string[] >x : T ->T : T } interface I3 extends A { ->I3 : I3 ->T : T ->A : A - a3: (x: T) => T; >a3 : (x: T) => T >x : T ->T : T ->T : T } interface I4 extends A { ->I4 : I4 ->T : T ->A : A - a4: (x: T, y: U) => string; >a4 : (x: T, y: U) => string ->U : U >x : T ->T : T >y : U ->U : U } interface I5 extends A { ->I5 : I5 ->T : T ->A : A - a5: (x: (arg: T) => U) => T; >a5 : (x: (arg: T) => U) => T ->U : U >x : (arg: T) => U >arg : T ->T : T ->U : U ->T : T } interface I7 extends A { ->I7 : I7 ->T : T ->A : A - a11: (x: { foo: T }, y: { foo: U; bar: U }) => Base; >a11 : (x: { foo: T; }, y: { foo: U; bar: U; }) => Base ->U : U >x : { foo: T; } >foo : T ->T : T >y : { foo: U; bar: U; } >foo : U ->U : U >bar : U ->U : U ->Base : Base } interface I9 extends A { ->I9 : I9 ->T : T ->A : A - a16: (x: { a: T; b: T }) => T[]; >a16 : (x: { a: T; b: T; }) => T[] >x : { a: T; b: T; } >a : T ->T : T >b : T ->T : T ->T : T } diff --git a/tests/baselines/reference/callSignatureWithOptionalParameterAndInitializer.types b/tests/baselines/reference/callSignatureWithOptionalParameterAndInitializer.types index fa3ddead9e5..3b8031c436e 100644 --- a/tests/baselines/reference/callSignatureWithOptionalParameterAndInitializer.types +++ b/tests/baselines/reference/callSignatureWithOptionalParameterAndInitializer.types @@ -60,7 +60,6 @@ class C { var c: C; >c : C ->C : C c.foo(); >c.foo() : void @@ -76,8 +75,6 @@ c.foo(1); >1 : 1 interface I { ->I : I - (x? = 1); >x : number >1 : 1 @@ -91,7 +88,6 @@ interface I { var i: I; >i : I ->I : I i(); >i() : any diff --git a/tests/baselines/reference/callSignatureWithoutAnnotationsOrBody.types b/tests/baselines/reference/callSignatureWithoutAnnotationsOrBody.types index 9fe90ae83c3..927d50a1ee1 100644 --- a/tests/baselines/reference/callSignatureWithoutAnnotationsOrBody.types +++ b/tests/baselines/reference/callSignatureWithoutAnnotationsOrBody.types @@ -12,15 +12,12 @@ var r = foo(1); // void since there's a body >1 : 1 interface I { ->I : I - (); f(); >f : () => any } var i: I; >i : I ->I : I var r2 = i(); >r2 : any diff --git a/tests/baselines/reference/callSignatureWithoutReturnTypeAnnotationInference.types b/tests/baselines/reference/callSignatureWithoutReturnTypeAnnotationInference.types index 3b2d8f25d38..67b20f4bcbe 100644 --- a/tests/baselines/reference/callSignatureWithoutReturnTypeAnnotationInference.types +++ b/tests/baselines/reference/callSignatureWithoutReturnTypeAnnotationInference.types @@ -44,9 +44,7 @@ var r3 = foo3(); function foo4(x: T) { >foo4 : (x: T) => T ->T : T >x : T ->T : T return x; >x : T @@ -132,8 +130,6 @@ var r8 = foo8(1); >1 : 1 interface I { ->I : I - foo: string; >foo : string } @@ -143,7 +139,6 @@ function foo9(x: number) { var i: I; >i : I ->I : I return i; >i : I @@ -166,7 +161,6 @@ function foo10(x: number) { var c: C; >c : C ->C : C return c; >c : C @@ -201,14 +195,10 @@ var r11 = foo11(); // merged declarations interface I2 { ->I2 : I2 - x: number; >x : number } interface I2 { ->I2 : I2 - y: number; >y : number } @@ -217,7 +207,6 @@ function foo12() { var i2: I2; >i2 : I2 ->I2 : I2 return i2; >i2 : I2 diff --git a/tests/baselines/reference/callSignaturesShouldBeResolvedBeforeSpecialization.types b/tests/baselines/reference/callSignaturesShouldBeResolvedBeforeSpecialization.types index 7c20d48a235..da2b23747a5 100644 --- a/tests/baselines/reference/callSignaturesShouldBeResolvedBeforeSpecialization.types +++ b/tests/baselines/reference/callSignaturesShouldBeResolvedBeforeSpecialization.types @@ -1,15 +1,10 @@ === tests/cases/compiler/callSignaturesShouldBeResolvedBeforeSpecialization.ts === interface I1 { ->I1 : I1 ->T : T - (value: T): void; >value : T ->T : T field1: I1; >field1 : I1 ->I1 : I1 } function foo() { @@ -17,7 +12,6 @@ function foo() { var test: I1; >test : I1 ->I1 : I1 test("expects boolean instead of string"); // should not error - "test" should not expect a boolean >test("expects boolean instead of string") : void diff --git a/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType.types b/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType.types index ff51a6fc60a..675c8fc6ac0 100644 --- a/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType.types +++ b/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType.types @@ -2,8 +2,6 @@ // Each pair of signatures in these types has a signature that should cause an error. // Overloads, generic or not, that differ only by return type are an error. interface I { ->I : I - (x): number; >x : any @@ -11,41 +9,26 @@ interface I { >x : any (x: T): number; ->T : T >x : T ->T : T (x: T): string; // error ->T : T >x : T ->T : T } interface I2 { ->I2 : I2 - (x: T): number; ->T : T >x : T ->T : T (x: T): string; // error ->T : T >x : T ->T : T } interface I3 { ->I3 : I3 ->T : T - (x: T): number; >x : T ->T : T (x: T): string; // error >x : T ->T : T } var a: { @@ -54,7 +37,6 @@ var a: { (x, y): Object; >x : any >y : any ->Object : Object (x, y): any; // error >x : any @@ -65,12 +47,8 @@ var a2: { >a2 : { (x: T): number; (x: T): string; } (x: T): number; ->T : T >x : T ->T : T (x: T): string; // error ->T : T >x : T ->T : T } diff --git a/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType2.types b/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType2.types index 18b23b2eb93..0ff597c7b0d 100644 --- a/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType2.types +++ b/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType2.types @@ -3,23 +3,15 @@ // Here the multiple overloads come from multiple bases. interface I { ->I : I ->T : T - foo(x: number): T; >foo : (x: number) => T >x : number ->T : T } interface A extends I, I { } ->A : A ->I : I ->I : I var x: A; >x : A ->A : A // BUG 822524 var r = x.foo(1); // no error diff --git a/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType3.types b/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType3.types index 3b1f2c5ca1a..e7ba417d1cb 100644 --- a/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType3.types +++ b/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType3.types @@ -3,31 +3,21 @@ // Here the multiple overloads come from multiple merged declarations. interface I { ->I : I - (x: string): string; >x : string } interface I { ->I : I - (x: string): number; >x : string } interface I2 { ->I2 : I2 ->T : T - (x: string): string; >x : string } interface I2 { ->I2 : I2 ->T : T - (x: string): number; >x : string } diff --git a/tests/baselines/reference/callSignaturesWithAccessibilityModifiersOnParameters.types b/tests/baselines/reference/callSignaturesWithAccessibilityModifiersOnParameters.types index 80f8e6445d5..78da366842b 100644 --- a/tests/baselines/reference/callSignaturesWithAccessibilityModifiersOnParameters.types +++ b/tests/baselines/reference/callSignaturesWithAccessibilityModifiersOnParameters.types @@ -28,11 +28,8 @@ var f3 = (x, private y) => { } var f4 = (public x: T, y: T) => { } >f4 : (x: T, y: T) => void >(public x: T, y: T) => { } : (x: T, y: T) => void ->T : T >x : T ->T : T >y : T ->T : T function foo2(private x: string, public y: number) { } >foo2 : (x: string, y: number) => void @@ -61,11 +58,8 @@ var f7 = (private x: string, public y: number) => { } var f8 = (private x: T, public y: T) => { } >f8 : (x: T, y: T) => void >(private x: T, public y: T) => { } : (x: T, y: T) => void ->T : T >x : T ->T : T >y : T ->T : T class C { >C : C @@ -82,16 +76,11 @@ class C { foo3(public x: T, private y: T) { } >foo3 : (x: T, y: T) => void ->T : T >x : T ->T : T >y : T ->T : T } interface I { ->I : I - (private x, public y); >x : any >y : any @@ -112,11 +101,8 @@ interface I { foo3(x: T, private y: T); >foo3 : (x: T, y: T) => any ->T : T >x : T ->T : T >y : T ->T : T } var a: { @@ -153,9 +139,6 @@ var b = { b: (public x: T, private y: T) => { } >b : (x: T, y: T) => void >(public x: T, private y: T) => { } : (x: T, y: T) => void ->T : T >x : T ->T : T >y : T ->T : T } diff --git a/tests/baselines/reference/callSignaturesWithDuplicateParameters.types b/tests/baselines/reference/callSignaturesWithDuplicateParameters.types index 926f1ca3313..d70e7a399e1 100644 --- a/tests/baselines/reference/callSignaturesWithDuplicateParameters.types +++ b/tests/baselines/reference/callSignaturesWithDuplicateParameters.types @@ -28,11 +28,8 @@ var f3 = (x, x) => { } var f4 = (x: T, x: T) => { } >f4 : (x: T, x: T) => void >(x: T, x: T) => { } : (x: T, x: T) => void ->T : T >x : T ->T : T >x : T ->T : T function foo2(x: string, x: number) { } >foo2 : (x: string, x: number) => void @@ -61,11 +58,8 @@ var f7 = (x: string, x: number) => { } var f8 = (x: T, y: T) => { } >f8 : (x: T, y: T) => void >(x: T, y: T) => { } : (x: T, y: T) => void ->T : T >x : T ->T : T >y : T ->T : T class C { >C : C @@ -82,16 +76,11 @@ class C { foo3(x: T, x: T) { } >foo3 : (x: T, x: T) => void ->T : T >x : T ->T : T >x : T ->T : T } interface I { ->I : I - (x, x); >x : any >x : any @@ -112,11 +101,8 @@ interface I { foo3(x: T, x: T); >foo3 : (x: T, x: T) => any ->T : T >x : T ->T : T >x : T ->T : T } var a: { @@ -153,9 +139,6 @@ var b = { b: (x: T, x: T) => { } >b : (x: T, x: T) => void >(x: T, x: T) => { } : (x: T, x: T) => void ->T : T >x : T ->T : T >x : T ->T : T } diff --git a/tests/baselines/reference/callSignaturesWithOptionalParameters.types b/tests/baselines/reference/callSignaturesWithOptionalParameters.types index e01eed3835a..8333172bdc5 100644 --- a/tests/baselines/reference/callSignaturesWithOptionalParameters.types +++ b/tests/baselines/reference/callSignaturesWithOptionalParameters.types @@ -56,7 +56,6 @@ class C { var c: C; >c : C ->C : C c.foo(); >c.foo() : void @@ -72,8 +71,6 @@ c.foo(1); >1 : 1 interface I { ->I : I - (x?: number); >x : number @@ -85,7 +82,6 @@ interface I { var i: I; >i : I ->I : I i(); >i() : any diff --git a/tests/baselines/reference/callSignaturesWithOptionalParameters2.types b/tests/baselines/reference/callSignaturesWithOptionalParameters2.types index c800a62d096..f273147abfb 100644 --- a/tests/baselines/reference/callSignaturesWithOptionalParameters2.types +++ b/tests/baselines/reference/callSignaturesWithOptionalParameters2.types @@ -71,7 +71,6 @@ class C { var c: C; >c : C ->C : C c.foo(); >c.foo() : any @@ -102,8 +101,6 @@ c.foo2(1, 2); >2 : 2 interface I { ->I : I - (x?: number); >x : number @@ -125,7 +122,6 @@ interface I { var i: I; >i : I ->I : I i(); >i() : any diff --git a/tests/baselines/reference/callSignaturesWithParameterInitializers.types b/tests/baselines/reference/callSignaturesWithParameterInitializers.types index 41e28dedaab..f105b95f47c 100644 --- a/tests/baselines/reference/callSignaturesWithParameterInitializers.types +++ b/tests/baselines/reference/callSignaturesWithParameterInitializers.types @@ -60,7 +60,6 @@ class C { var c: C; >c : C ->C : C c.foo(); >c.foo() : void @@ -77,8 +76,6 @@ c.foo(1); // these are errors interface I { ->I : I - (x = 1); >x : number >1 : 1 @@ -92,7 +89,6 @@ interface I { var i: I; >i : I ->I : I i(); >i() : any diff --git a/tests/baselines/reference/callSignaturesWithParameterInitializers2.types b/tests/baselines/reference/callSignaturesWithParameterInitializers2.types index b83c202eff6..f339e01c003 100644 --- a/tests/baselines/reference/callSignaturesWithParameterInitializers2.types +++ b/tests/baselines/reference/callSignaturesWithParameterInitializers2.types @@ -37,7 +37,6 @@ class C { var c: C; >c : C ->C : C c.foo(); >c.foo() : any diff --git a/tests/baselines/reference/callWithSpread.types b/tests/baselines/reference/callWithSpread.types index 5af9d2fef84..016b03a6682 100644 --- a/tests/baselines/reference/callWithSpread.types +++ b/tests/baselines/reference/callWithSpread.types @@ -1,13 +1,10 @@ === tests/cases/conformance/expressions/functionCalls/callWithSpread.ts === interface X { ->X : X - foo(x: number, y: number, ...z: string[]): X; >foo : (x: number, y: number, ...z: string[]) => X >x : number >y : number >z : string[] ->X : X } function foo(x: number, y: number, ...z: string[]) { @@ -25,11 +22,9 @@ var z: number[]; var obj: X; >obj : X ->X : X var xa: X[]; >xa : X[] ->X : X foo(1, 2, "abc"); >foo(1, 2, "abc") : void @@ -266,7 +261,6 @@ xa[1].foo(1, 2, ...a, "abc"); >(xa[1].foo)(...[1, 2, "abc"]) : any >(xa[1].foo) : Function >xa[1].foo : Function ->Function : Function >xa[1].foo : (x: number, y: number, ...z: string[]) => X >xa[1] : X >xa : X[] diff --git a/tests/baselines/reference/callWithSpreadES6.types b/tests/baselines/reference/callWithSpreadES6.types index 4ce4bb2a75c..93ad15809bb 100644 --- a/tests/baselines/reference/callWithSpreadES6.types +++ b/tests/baselines/reference/callWithSpreadES6.types @@ -1,7 +1,5 @@ === tests/cases/conformance/expressions/functionCalls/callWithSpreadES6.ts === interface X { ->X : X - foo(x: number, y: number, ...z: string[]); >foo : (x: number, y: number, ...z: string[]) => any >x : number @@ -24,11 +22,9 @@ var z: number[]; var obj: X; >obj : X ->X : X var xa: X[]; >xa : X[] ->X : X foo(1, 2, "abc"); >foo(1, 2, "abc") : void @@ -157,7 +153,6 @@ xa[1].foo(1, 2, ...a, "abc"); >(xa[1].foo)(...[1, 2, "abc"]) : any >(xa[1].foo) : Function >xa[1].foo : Function ->Function : Function >xa[1].foo : (x: number, y: number, ...z: string[]) => any >xa[1] : X >xa : X[] diff --git a/tests/baselines/reference/callWithWrongNumberOfTypeArguments.types b/tests/baselines/reference/callWithWrongNumberOfTypeArguments.types index 0056a0d3e9a..29d4ea5ec4b 100644 --- a/tests/baselines/reference/callWithWrongNumberOfTypeArguments.types +++ b/tests/baselines/reference/callWithWrongNumberOfTypeArguments.types @@ -1,8 +1,6 @@ === tests/cases/compiler/callWithWrongNumberOfTypeArguments.ts === function f() { } >f : () => void ->T : T ->U : U f(); >f() : any diff --git a/tests/baselines/reference/callbacksDontShareTypes.types b/tests/baselines/reference/callbacksDontShareTypes.types index 39ff5d8e306..55422c4df7c 100644 --- a/tests/baselines/reference/callbacksDontShareTypes.types +++ b/tests/baselines/reference/callbacksDontShareTypes.types @@ -1,57 +1,35 @@ === tests/cases/compiler/callbacksDontShareTypes.ts === interface Collection { ->Collection : Collection ->T : T - length: number; >length : number add(x: T): void; >add : (x: T) => void >x : T ->T : T remove(x: T): boolean; >remove : (x: T) => boolean >x : T ->T : T } interface Combinators { ->Combinators : Combinators - map(c: Collection, f: (x: T) => U): Collection; >map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T) => any): Collection; } ->T : T ->U : U >c : Collection ->Collection : Collection ->T : T >f : (x: T) => U >x : T ->T : T ->U : U ->Collection : Collection ->U : U map(c: Collection, f: (x: T) => any): Collection; >map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T) => any): Collection; } ->T : T >c : Collection ->Collection : Collection ->T : T >f : (x: T) => any >x : T ->T : T ->Collection : Collection } var _: Combinators; >_ : Combinators ->Combinators : Combinators var c2: Collection; >c2 : Collection ->Collection : Collection var rf1 = (x: number) => { return x.toFixed() }; >rf1 : (x: number) => string diff --git a/tests/baselines/reference/caseInsensitiveFileSystemWithCapsImportTypeDeclarations.types b/tests/baselines/reference/caseInsensitiveFileSystemWithCapsImportTypeDeclarations.types index 59401c34ae7..7cfcfee8fca 100644 --- a/tests/baselines/reference/caseInsensitiveFileSystemWithCapsImportTypeDeclarations.types +++ b/tests/baselines/reference/caseInsensitiveFileSystemWithCapsImportTypeDeclarations.types @@ -11,7 +11,6 @@ export class Broken { return { } as TypeB; >{ } as TypeB : import("tests/cases/compiler/Uppercased_Dir/src/types").Merge >{ } : {} ->TypeB : import("tests/cases/compiler/Uppercased_Dir/src/types").Merge } } === tests/cases/compiler/Uppercased_Dir/src/type-b.ts === @@ -23,8 +22,6 @@ import { TypeA } from './type-a'; export type TypeB = MergeTypeB : Merge ->Merge : Merge ->TypeA : TypeA b: string; >b : string @@ -40,8 +37,4 @@ export type TypeA = { === tests/cases/compiler/Uppercased_Dir/src/types.ts === export type Merge = T & U; >Merge : Merge ->T : T ->U : U ->T : T ->U : U diff --git a/tests/baselines/reference/castExpressionParentheses.types b/tests/baselines/reference/castExpressionParentheses.types index 5971b55f103..5f6e5b2122b 100644 --- a/tests/baselines/reference/castExpressionParentheses.types +++ b/tests/baselines/reference/castExpressionParentheses.types @@ -205,7 +205,6 @@ new (A()); >(()=> {})() : void >(()=> {}) : () => void >()=> {} : () => void ->Tany : Tany (function foo() { })(); >(function foo() { })() : any diff --git a/tests/baselines/reference/castNewObjectBug.types b/tests/baselines/reference/castNewObjectBug.types index b98b1576061..bbafb8ff9c4 100644 --- a/tests/baselines/reference/castNewObjectBug.types +++ b/tests/baselines/reference/castNewObjectBug.types @@ -1,11 +1,8 @@ === tests/cases/compiler/castNewObjectBug.ts === interface Foo { } ->Foo : Foo - var xx = new Object(); >xx : Foo > new Object() : Foo ->Foo : Foo >new Object() : Object >Object : ObjectConstructor diff --git a/tests/baselines/reference/castTest.types b/tests/baselines/reference/castTest.types index 4032aa8ac24..0013605a383 100644 --- a/tests/baselines/reference/castTest.types +++ b/tests/baselines/reference/castTest.types @@ -53,13 +53,10 @@ declare class Point >add : (dx: number, dy: number) => Point >dx : number >dy : number ->Point : Point mult(p: Point): Point; >mult : (p: Point) => Point >p : Point ->Point : Point ->Point : Point constructor(x: number, y: number); >x : number @@ -69,7 +66,6 @@ declare class Point var p_cast = ({ >p_cast : Point > ({ x: 0, y: 0, add: function(dx, dy) { return new Point(this.x + dx, this.y + dy); }, mult: function(p) { return p; }}) : Point ->Point : Point >({ x: 0, y: 0, add: function(dx, dy) { return new Point(this.x + dx, this.y + dy); }, mult: function(p) { return p; }}) : { x: number; y: number; add: (dx: number, dy: number) => Point; mult: (p: Point) => Point; } >{ x: 0, y: 0, add: function(dx, dy) { return new Point(this.x + dx, this.y + dy); }, mult: function(p) { return p; }} : { x: number; y: number; add: (dx: number, dy: number) => Point; mult: (p: Point) => Point; } diff --git a/tests/baselines/reference/castingTuple.types b/tests/baselines/reference/castingTuple.types index 0b9aa0a1487..5280ca4962b 100644 --- a/tests/baselines/reference/castingTuple.types +++ b/tests/baselines/reference/castingTuple.types @@ -1,7 +1,5 @@ === tests/cases/conformance/types/tuple/castingTuple.ts === interface I { } ->I : I - class A { a = 10; } >A : A >a : number @@ -9,12 +7,10 @@ class A { a = 10; } class C implements I { c }; >C : C ->I : I >c : any class D implements I { d }; >D : D ->I : I >d : any class E extends A { e }; @@ -64,8 +60,6 @@ var longer = numStrTuple as [number, string, boolean] var classCDTuple: [C, D] = [new C(), new D()]; >classCDTuple : [C, D] ->C : C ->D : D >[new C(), new D()] : [C, D] >new C() : C >C : typeof C @@ -75,16 +69,11 @@ var classCDTuple: [C, D] = [new C(), new D()]; var interfaceIITuple = <[I, I]>classCDTuple; >interfaceIITuple : [I, I] ><[I, I]>classCDTuple : [I, I] ->I : I ->I : I >classCDTuple : [C, D] var classCDATuple = <[C, D, A]>classCDTuple; >classCDATuple : [C, D, A] ><[C, D, A]>classCDTuple : [C, D, A] ->C : C ->D : D ->A : A >classCDTuple : [C, D] var eleFromCDA1 = classCDATuple[2]; // A @@ -101,8 +90,6 @@ var eleFromCDA2 = classCDATuple[5]; // C | D | A var t10: [E1, E2] = [E1.one, E2.one]; >t10 : [E1, E2] ->E1 : E1 ->E2 : E2 >[E1.one, E2.one] : [E1, E2] >E1.one : E1 >E1 : typeof E1 @@ -123,7 +110,6 @@ var array1 = <{}[]>emptyObjTuple; var unionTuple: [C, string | number] = [new C(), "foo"]; >unionTuple : [C, string | number] ->C : C >[new C(), "foo"] : [C, string] >new C() : C >C : typeof C @@ -131,8 +117,6 @@ var unionTuple: [C, string | number] = [new C(), "foo"]; var unionTuple2: [C, string | number, D] = [new C(), "foo", new D()]; >unionTuple2 : [C, string | number, D] ->C : C ->D : D >[new C(), "foo", new D()] : [C, string, D] >new C() : C >C : typeof C @@ -160,8 +144,6 @@ var t3 = <[number, number]>numStrTuple; var t9 = <[A, I]>classCDTuple; >t9 : [A, I] ><[A, I]>classCDTuple : [A, I] ->A : A ->I : I >classCDTuple : [C, D] var array1 = numStrTuple; diff --git a/tests/baselines/reference/chainedAssignment2.types b/tests/baselines/reference/chainedAssignment2.types index c53c64143d9..1675f4ddfa1 100644 --- a/tests/baselines/reference/chainedAssignment2.types +++ b/tests/baselines/reference/chainedAssignment2.types @@ -10,11 +10,9 @@ var c: boolean; var d: Date; >d : Date ->Date : Date var e: RegExp; >e : RegExp ->RegExp : RegExp a = b = c = d = e = null; >a = b = c = d = e = null : null diff --git a/tests/baselines/reference/chainedAssignment3.types b/tests/baselines/reference/chainedAssignment3.types index 1e6c858ac0c..3bb2ded98fc 100644 --- a/tests/baselines/reference/chainedAssignment3.types +++ b/tests/baselines/reference/chainedAssignment3.types @@ -16,11 +16,9 @@ class B extends A { var a: A; >a : A ->A : A var b: B; >b : B ->B : B a = b = null; >a = b = null : null diff --git a/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.types b/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.types index 53ebb6e2150..3716b9b56f1 100644 --- a/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.types +++ b/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.types @@ -1,23 +1,14 @@ === tests/cases/compiler/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.ts === class Chain { >Chain : Chain ->T : T ->A : A constructor(public value: T) { } >value : T ->T : T then(cb: (x: T) => S): Chain { >then : (cb: (x: T) => S) => Chain ->S : S ->T : T >cb : (x: T) => S >x : T ->T : T ->S : S ->Chain : Chain ->S : S return null; >null : null diff --git a/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.types b/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.types index 5dc0ddb54c0..59627a5f620 100644 --- a/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.types +++ b/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.types @@ -1,30 +1,20 @@ === tests/cases/compiler/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.ts === class Chain { >Chain : Chain ->T : T constructor(public value: T) { } >value : T ->T : T then(cb: (x: T) => S): Chain { >then : (cb: (x: T) => S) => Chain ->S : S ->T : T >cb : (x: T) => S >x : T ->T : T ->S : S ->Chain : Chain ->S : S var t: T; >t : T ->T : T var s: S; >s : S ->S : S // Ok to go down the chain, but error to climb up the chain (new Chain(t)).then(tt => s).then(ss => t); @@ -114,42 +104,28 @@ class Chain { // Similar to above, but T is now constrained. Verify that the constraint is maintained across invocations interface I { ->I : I - x: number; >x : number } class Chain2 { >Chain2 : Chain2 ->T : T ->I : I constructor(public value: T) { } >value : T ->T : T then(cb: (x: T) => S): Chain2 { >then : (cb: (x: T) => S) => Chain2 ->S : S ->T : T >cb : (x: T) => S >x : T ->T : T ->S : S ->Chain2 : Chain2 ->S : S var i: I; >i : I ->I : I var t: T; >t : T ->T : T var s: S; >s : S ->S : S // Ok to go down the chain, check the constraint at the end. // Should get an error that we are assigning a string to a number diff --git a/tests/baselines/reference/chainedSpecializationToObjectTypeLiteral.types b/tests/baselines/reference/chainedSpecializationToObjectTypeLiteral.types index b76b19a724d..d1b81857925 100644 --- a/tests/baselines/reference/chainedSpecializationToObjectTypeLiteral.types +++ b/tests/baselines/reference/chainedSpecializationToObjectTypeLiteral.types @@ -1,49 +1,30 @@ === tests/cases/compiler/chainedSpecializationToObjectTypeLiteral.ts === interface Sequence { ->Sequence : Sequence ->T : T - each(iterator: (value: T) => void): void; >each : (iterator: (value: T) => void) => void >iterator : (value: T) => void >value : T ->T : T map(iterator: (value: T) => U): Sequence; >map : (iterator: (value: T) => U) => Sequence ->U : U >iterator : (value: T) => U >value : T ->T : T ->U : U ->Sequence : Sequence ->U : U filter(iterator: (value: T) => boolean): Sequence; >filter : (iterator: (value: T) => boolean) => Sequence >iterator : (value: T) => boolean >value : T ->T : T ->Sequence : Sequence ->T : T groupBy(keySelector: (value: T) => K): Sequence<{ key: K; items: T[]; }>; >groupBy : (keySelector: (value: T) => K) => Sequence<{ key: K; items: T[]; }> ->K : K >keySelector : (value: T) => K >value : T ->T : T ->K : K ->Sequence : Sequence >key : K ->K : K >items : T[] ->T : T } var s: Sequence; >s : Sequence ->Sequence : Sequence var s2 = s.groupBy(s => s.length); >s2 : Sequence<{ key: number; items: string[]; }> diff --git a/tests/baselines/reference/checkInfiniteExpansionTermination.types b/tests/baselines/reference/checkInfiniteExpansionTermination.types index bd4858126dd..07d3cb00487 100644 --- a/tests/baselines/reference/checkInfiniteExpansionTermination.types +++ b/tests/baselines/reference/checkInfiniteExpansionTermination.types @@ -3,39 +3,24 @@ // Before fix this code would cause infinite loop interface IObservable { ->IObservable : IObservable ->T : T - n: IObservable; // Needed, must be T[] >n : IObservable ->IObservable : IObservable ->T : T } // Needed interface ISubject extends IObservable { } ->ISubject : ISubject ->T : T ->IObservable : IObservable ->T : T interface Foo { x } ->Foo : Foo >x : any interface Bar { y } ->Bar : Bar >y : any var values: IObservable; >values : IObservable ->IObservable : IObservable ->Foo : Foo var values2: ISubject; >values2 : ISubject ->ISubject : ISubject ->Bar : Bar values = values2; >values = values2 : ISubject diff --git a/tests/baselines/reference/checkInfiniteExpansionTermination2.types b/tests/baselines/reference/checkInfiniteExpansionTermination2.types index fc81e1c9304..61f34101989 100644 --- a/tests/baselines/reference/checkInfiniteExpansionTermination2.types +++ b/tests/baselines/reference/checkInfiniteExpansionTermination2.types @@ -3,44 +3,29 @@ // Before fix this code would cause infinite loop interface IObservable { ->IObservable : IObservable ->T : T - n: IObservable; >n : IObservable ->IObservable : IObservable ->T : T } interface ISubject extends IObservable { } ->ISubject : ISubject ->T : T ->IObservable : IObservable ->T : T declare function combineLatest(x: IObservable[]): void; >combineLatest : { (x: IObservable[]): void; (): void; } ->TOther : TOther >x : IObservable[] ->IObservable : IObservable ->TOther : TOther declare function combineLatest(): void; >combineLatest : { (x: IObservable[]): void; (): void; } function fn() { >fn : () => void ->T : T var values: ISubject[] = []; >values : ISubject[] ->ISubject : ISubject >[] : undefined[] // Hang when using , but not combineLatest(values); >combineLatest(values) : void >combineLatest : { (x: IObservable[]): void; (): void; } ->T : T >values : ISubject[] } diff --git a/tests/baselines/reference/checkInterfaceBases.types b/tests/baselines/reference/checkInterfaceBases.types index 3e9107bbd6e..24a7bdf06c1 100644 --- a/tests/baselines/reference/checkInterfaceBases.types +++ b/tests/baselines/reference/checkInterfaceBases.types @@ -1,20 +1,13 @@ === tests/cases/compiler/app.ts === /// interface SecondEvent { ->SecondEvent : SecondEvent - data: any; >data : any } interface Third extends JQueryEventObjectTest, SecondEvent {} ->Third : Third ->JQueryEventObjectTest : JQueryEventObjectTest ->SecondEvent : SecondEvent === tests/cases/compiler/jquery.d.ts === interface JQueryEventObjectTest { ->JQueryEventObjectTest : JQueryEventObjectTest - data: any; >data : any diff --git a/tests/baselines/reference/checkJsdocTypeTag4.types b/tests/baselines/reference/checkJsdocTypeTag4.types index 04e3707a400..75db299718e 100644 --- a/tests/baselines/reference/checkJsdocTypeTag4.types +++ b/tests/baselines/reference/checkJsdocTypeTag4.types @@ -1,9 +1,7 @@ === tests/cases/conformance/jsdoc/t.d.ts === type A = { a: T } >A : A ->T : T >a : T ->T : T === tests/cases/conformance/jsdoc/test.js === /** Also should error for jsdoc typedefs diff --git a/tests/baselines/reference/checkJsxChildrenProperty1.types b/tests/baselines/reference/checkJsxChildrenProperty1.types index 821f95d9ae7..1a436091178 100644 --- a/tests/baselines/reference/checkJsxChildrenProperty1.types +++ b/tests/baselines/reference/checkJsxChildrenProperty1.types @@ -3,8 +3,6 @@ import React = require('react'); >React : typeof React interface Prop { ->Prop : Prop - a: number, >a : number @@ -14,13 +12,11 @@ interface Prop { children: string | JSX.Element >children : string | JSX.Element >JSX : any ->Element : JSX.Element } function Comp(p: Prop) { >Comp : (p: Prop) => JSX.Element >p : Prop ->Prop : Prop return
{p.b}
; >
{p.b}
: JSX.Element diff --git a/tests/baselines/reference/checkJsxChildrenProperty10.types b/tests/baselines/reference/checkJsxChildrenProperty10.types index cee5995b851..785e690f637 100644 --- a/tests/baselines/reference/checkJsxChildrenProperty10.types +++ b/tests/baselines/reference/checkJsxChildrenProperty10.types @@ -1,17 +1,10 @@ === tests/cases/conformance/jsx/file.tsx === declare module JSX { ->JSX : any - interface Element { } ->Element : Element - interface ElementAttributesProperty { props: {} } ->ElementAttributesProperty : ElementAttributesProperty >props : {} interface IntrinsicElements { ->IntrinsicElements : IntrinsicElements - div: any; >div : any diff --git a/tests/baselines/reference/checkJsxChildrenProperty11.types b/tests/baselines/reference/checkJsxChildrenProperty11.types index cee5995b851..785e690f637 100644 --- a/tests/baselines/reference/checkJsxChildrenProperty11.types +++ b/tests/baselines/reference/checkJsxChildrenProperty11.types @@ -1,17 +1,10 @@ === tests/cases/conformance/jsx/file.tsx === declare module JSX { ->JSX : any - interface Element { } ->Element : Element - interface ElementAttributesProperty { props: {} } ->ElementAttributesProperty : ElementAttributesProperty >props : {} interface IntrinsicElements { ->IntrinsicElements : IntrinsicElements - div: any; >div : any diff --git a/tests/baselines/reference/checkJsxChildrenProperty12.types b/tests/baselines/reference/checkJsxChildrenProperty12.types index 93a7d0f9be1..9204e4985d2 100644 --- a/tests/baselines/reference/checkJsxChildrenProperty12.types +++ b/tests/baselines/reference/checkJsxChildrenProperty12.types @@ -3,8 +3,6 @@ import React = require('react'); >React : typeof React interface ButtonProp { ->ButtonProp : ButtonProp - a: number, >a : number @@ -13,7 +11,6 @@ interface ButtonProp { children: Button; >children : Button ->Button : Button } class Button extends React.Component { @@ -21,7 +18,6 @@ class Button extends React.Component { >React.Component : React.Component >React : typeof React >Component : typeof React.Component ->ButtonProp : ButtonProp render() { >render : () => JSX.Element @@ -60,8 +56,6 @@ class Button extends React.Component { } interface InnerButtonProp { ->InnerButtonProp : InnerButtonProp - a: number >a : number } @@ -71,7 +65,6 @@ class InnerButton extends React.Component { >React.Component : React.Component >React : typeof React >Component : typeof React.Component ->InnerButtonProp : InnerButtonProp render() { >render : () => JSX.Element diff --git a/tests/baselines/reference/checkJsxChildrenProperty13.types b/tests/baselines/reference/checkJsxChildrenProperty13.types index 10d3876ae63..da159a74aa0 100644 --- a/tests/baselines/reference/checkJsxChildrenProperty13.types +++ b/tests/baselines/reference/checkJsxChildrenProperty13.types @@ -3,8 +3,6 @@ import React = require('react'); >React : typeof React interface ButtonProp { ->ButtonProp : ButtonProp - a: number, >a : number @@ -13,7 +11,6 @@ interface ButtonProp { children: Button; >children : Button ->Button : Button } class Button extends React.Component { @@ -21,7 +18,6 @@ class Button extends React.Component { >React.Component : React.Component >React : typeof React >Component : typeof React.Component ->ButtonProp : ButtonProp render() { >render : () => JSX.Element @@ -47,8 +43,6 @@ class Button extends React.Component { } interface InnerButtonProp { ->InnerButtonProp : InnerButtonProp - a: number >a : number } @@ -58,7 +52,6 @@ class InnerButton extends React.Component { >React.Component : React.Component >React : typeof React >Component : typeof React.Component ->InnerButtonProp : InnerButtonProp render() { >render : () => JSX.Element diff --git a/tests/baselines/reference/checkJsxChildrenProperty14.types b/tests/baselines/reference/checkJsxChildrenProperty14.types index a0d9797934c..1910d47a304 100644 --- a/tests/baselines/reference/checkJsxChildrenProperty14.types +++ b/tests/baselines/reference/checkJsxChildrenProperty14.types @@ -3,8 +3,6 @@ import React = require('react'); >React : typeof React interface Prop { ->Prop : Prop - a: number, >a : number @@ -14,9 +12,7 @@ interface Prop { children: JSX.Element | JSX.Element[]; >children : JSX.Element | JSX.Element[] >JSX : any ->Element : JSX.Element >JSX : any ->Element : JSX.Element } class Button extends React.Component { @@ -49,7 +45,6 @@ function AnotherButton(p: any) { function Comp(p: Prop) { >Comp : (p: Prop) => JSX.Element >p : Prop ->Prop : Prop return
{p.b}
; >
{p.b}
: JSX.Element @@ -104,8 +99,6 @@ let k3 = <>